ページの先頭行へ戻る
 Formcoordinatorユーザーズガイド

6.5 ステップ4:電子フォームに初期値を表示する

電子フォームに初期値を入力した状態で表示する方法を学習していきます。

このステップの概要

Webアプリケーションで初期値のデータを設定して電子フォームを表示する処理を行うシステムを作ります。

(1) 電子フォームを作成する

ステップ1で使用した電子フォームに、日付を入力するエディットボックスを作成します。

  1. 電子フォームデザイナで電子フォーム「Step1」を開きます。

  2. スタティックテキスト項目を挿入して、「日付」という文字列を指定します。

  3. 数字項目を挿入します。

  4. 数字項目のプロパティで、次に示す設定情報を変更します。

    タブ名

    設定情報

    指定内容

    プロパティ

    タグ名

    日付

    項目名

    日付

    編集形式

    分類

    日付

    区切り

    年月日

    ゼロ抑制

    オン

  5. 「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クラスを使用します。
次に示す流れで処理を行います。

  1. OutputDataBuilderオブジェクトを生成する

  2. 雛形を取得する

  3. 雛形を使用したXmlDataAccessオブジェクトを生成する

  4. XMLデータを編集する

  5. 編集した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サーバに配置します。

配置するファイル

配置する場所

電子フォームのファイル

  • Step4.pmd

  • Step4.fae

  • Step4.psf

  • Step4.bip

WindowsC:\Interstage\APC\sample\tutorial\eform

SolarisLinux/opt/FJSVfcdn/sample/tutorial/eform

Webページのファイル
Step4.htm

WindowsC:\Interstage\APC\sample\tutorial\Step4

SolarisLinux/opt/FJSVfcdn/sample/tutorial/Step4

Webアプリケーションをコンパイルしたクラスファイル
Step4.class

WindowsC:\Interstage\APC\sample\tutorial\Step4\WEB-INF\classes

SolarisLinux/opt/FJSVfcdn/sample/tutorial/Step4/WEB-INF/classes

Webアプリケーション環境定義ファイル
web.xml

WindowsC:\Interstage\APC\sample\tutorial\Step4\WEB-INF

SolarisLinux/opt/FJSVfcdn/sample/tutorial/Step4/WEB-INF

(6) WARファイルを作成する

アプリケーションサーバがWARファイルによるWebアプリケーションの配備に対応している場合、(5)で配置したファイルを使用して、WARファイルを作成します。jarコマンドを実行するために、Windowsの場合は、「コマンド プロンプト」を起動します。SolarisおよびLinuxの場合は、「端末エミュレータ」等を起動します。

  1. Step4フォルダ配下に移動します。
    次に示すコマンドを実行します。

    Windowscd C:\Interstage\APC\sample\tutorial\Step4

    SolarisLinuxcd /opt/FJSVfcdn/sample/tutorial/Step4

  2. 「Step4.war」という名前でWARファイルを作成します。
    次に示すコマンドを実行します。

    jar cvf Step4.war *.htm WEB-INF

(7) WARファイルを配備する

作成したWARファイルをアプリケーションサーバに配備します。配備の方法については、使用しているアプリケーションサーバのマニュアルを参照してください。

(8) 動作を確認する

  1. Webブラウザで、アドレスに「http://localhost/Step4/Step4.htm」を指定して、[移動]ボタンをクリックします。

    →Webページが表示されます。

  2. [実行]ボタンをクリックします。

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