電子フォームに初期値を入力した状態で表示する方法を学習していきます。
■このステップの概要
Webアプリケーションで初期値のデータを設定して電子フォームを表示する処理を行うシステムを作ります。

電子フォームおよびWebページは、ステップ1で使用した電子フォームを基にして作成します。
初期値のデータを生成し、電子フォームに表示する処理を行うWebアプリケーションを作成します。
Webアプリケーション環境定義ファイルは、ステップ1で使用したWebアプリケーション環境定義ファイル「web.xml」を基にして作成します。
WARファイルによるWebアプリケーションの配備に対応しているアプリケーションの場合は、Webアプリケーションの配置を容易に行うことができるようにWARファイルを作成します。
(1) 電子フォームを作成する
ステップ1で使用した電子フォームに、日付を入力するエディットボックスを作成します。
電子フォームデザイナで電子フォーム「Step1」を開きます。
スタティックテキスト項目を挿入して、「日付」という文字列を指定します。
数字項目を挿入します。
数字項目のプロパティで、次に示す設定情報を変更します。
タブ名 | 設定情報 | 指定内容 |
|---|---|---|
プロパティ | タグ名 | 日付 |
項目名 | 日付 | |
編集形式 | 分類 | 日付 |
区切り | 年月日 | |
ゼロ抑制 | オン |
「Step4」という名前で保存します。

(2) Webページを作成する
ステップ1で使用したWebページから起動するWebアプリケーションを「Step1」から「Step4」に変更します。変更したWebページを「Step4.htm」という名前で保存します。
変更する箇所を次に示します。変更する箇所は太字と下線で表しています。
Step4.htmの内容
<html> <head> <title>Step4 電子フォームに初期値を表示する</title> </head>
<body> <h1>Step4 電子フォームに初期値を表示する</h1> <form action="servlet/Step4"> <input type="submit" name="送信" value="実行"> </form> </body> </html>
(3) Webアプリケーションを作成する
電子フォームを表示するWebアプリケーションとして「Step4」というクラスを作成します。
初期値のデータは、(1)で作成した電子フォームから生成します。
(1)で作成した電子フォームに入力するデータは、次に示す構造のXMLデータになっています。
![]()
Webアプリケーションでは、OutputDataBuilderクラスを使用して電子フォームのXMLデータの雛形を取得します。取得したXMLデータを編集して初期値のデータを生成します。取得したXMLデータの編集には、XmlDataAccessクラスを使用します。
次に示す流れで処理を行います。
OutputDataBuilderオブジェクトを生成する
雛形を取得する
雛形を使用したXmlDataAccessオブジェクトを生成する
XMLデータを編集する
編集したXMLデータをOutputDataBuilderオブジェクトに設定する
Step4クラスのソースプログラム
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.fujitsu.form.OutputDataBuilder;
import com.fujitsu.form.XmlDataAccess;
import java.io.IOException;
import javax.servlet.ServletException;
import java.util.*;
public class Step4 extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
try {
// OutputDataBuilderオブジェクトを生成します。
// 生成するときに電子フォーム名を指定します。
OutputDataBuilder odb =
new OutputDataBuilder(request, "Step4");
// 電子フォーム表示モードに環境定義モードを指定します。
odb.setDisplayMode(odb.DISPMODE_ENV);
// コンテントタイプを設定します。
response.setContentType(odb.getContentType());
// XMLデータの雛形からXmlDataAccessオブジェクトを生成します。
XmlDataAccess xda =
new XmlDataAccess(odb.getTemplateXMLData());
// 日付の編集を行います。日付は、たとえば、2001年4月8日であれば、
// "20010408"としなければなりません。
Calendar cal =
Calendar.getInstance(TimeZone.getDefault(), Locale.JAPAN);
int year = cal.get(Calendar.YEAR);
String month = "" + (cal.get(Calendar.MONTH) + 1);
String day = "" + cal.get(Calendar.DATE);
if (month.length() == 1) {
month = "0" + month;
}
if (day.length() == 1) {
day = "0" + day;
}
String applyDate = year + month + day;
// 日付を設定します。
xda.setValue("日付", applyDate);
// 編集したXMLデータを初期値として設定します。
odb.setXMLData(xda.getDocument(), false);
// HTMLデータの生成を行い、Webブラウザへ送信します。
odb.write(response.getOutputStream());
} catch (Exception e) {
e.printStackTrace();
}
}
}
(4) Webアプリケーション環境定義ファイルを作成する
Webアプリケーション環境定義ファイル(deployment descriptor)を作成します。
ステップ1で作成した「web.xml」のWebアプリケーションのクラス名を「Step4」に変更します。
変更する箇所を次に示します。変更する箇所は太字と下線で表しています。
web.xmlファイルの内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
<web-app>
<servlet>
<servlet-name>Step4</servlet-name>
<servlet-class>Step4</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Step4</servlet-name>
<url-pattern>/servlet/Step4</url-pattern>
</servlet-mapping>
</web-app>(5) Webサーバに配置する
(1)~(4)で作成したファイルをWebサーバに配置します。
配置するファイル | 配置する場所 |
|---|---|
電子フォームのファイル
|
|
Webページのファイル |
|
Webアプリケーションをコンパイルしたクラスファイル |
|
Webアプリケーション環境定義ファイル |
|
(6) WARファイルを作成する
アプリケーションサーバがWARファイルによるWebアプリケーションの配備に対応している場合、(5)で配置したファイルを使用して、WARファイルを作成します。jarコマンドを実行するために、Windowsの場合は、「コマンド プロンプト」を起動します。SolarisおよびLinuxの場合は、「端末エミュレータ」等を起動します。
Step4フォルダ配下に移動します。
次に示すコマンドを実行します。
|
「Step4.war」という名前でWARファイルを作成します。
次に示すコマンドを実行します。
jar cvf Step4.war *.htm WEB-INF |
(7) WARファイルを配備する
作成したWARファイルをアプリケーションサーバに配備します。配備の方法については、使用しているアプリケーションサーバのマニュアルを参照してください。
(8) 動作を確認する
Webブラウザで、アドレスに「http://localhost/Step4/Step4.htm」を指定して、[移動]ボタンをクリックします。

→Webページが表示されます。
[実行]ボタンをクリックします。

→初期値が設定された電子フォームが表示されます。
