Apcoordinator ユーザーズガイド
|
目次
|
32.2 電子フォームの表示
FormServletクラスを継承してサーブレットクラスを作成します。
作成したクラスにメソッドや変数の追加は不要です。ブラウザからのリクエストを受け付けるサーブレットとして、このサーブレットクラスを使用します。
public class FormSample extends com.fujitsu.uji.formc.FormServlet {
}
|
GenericHandleクラスを継承してビジネスクラスを作成します。ビジネスクラスのメソッドには、電子フォームから入力したデータの処理と、電子フォームの表示の設定を記述します。ビジネスクラスの詳細については、
ビジネスクラスを参照してください。
電子フォームを表示させるには、表示する電子フォーム名を設定したFormデータBean(com.fujitsu.uji.formc.FormDataBeanクラス)をメソッドが返却するようにします。
import com.fujitsu.uji.DispatchContext;
import com.fujitsu.uji.formc.FormDataBean;
public class FormSampleHandler extends com.fujitsu.uji.GenericHandler {
public Object startup(DispatchContext context) {
// 電子フォーム名を設定したFormDataBeanクラスを返却します。
FormDataBean formBean = new FormDataBean("SampleForm");
return formBean;
}
}
|
電子フォームを表示させる場合は、DispatchContextクラスのsetResponseBeanメソッドは使用しません。
起動時に実行するビジネスクラス名、メソッド名をコマンドマップで指定します。 コマンドマップの詳細は
コマンドマップを参照してください。
#commands.map
;=FormSampleHandler.startup
|
Webアプリケーション環境定義ファイル(web.xml)に以下を設定します。 これらの設定はweb.xmlのweb-appタグのコンテントに記述します。
- 作成したサーブレットクラスに対し、サーブレット名とURLを設定します。 以下の記述例では、サーブレットクラスがform.FormSample、サーブレット名がformservlet、URLが/formservletです。
<servlet>
<servlet-name>formservlet</servlet-name>
<servlet-class>form.FormSample</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>formservlet</servlet-name>
<url-pattern>/formservlet</url-pattern>
</servlet-mapping> |
- 初期化パラメタuji.defaultEncodingにnoneを指定して、送信データの文字エンコーディングの変換が行われないようにします。
<context-param>
<param-name>uji.defaultEncoding</param-name>
<param-value>none</param-value>
</context-param> |
また、必要に応じてweb.xmlに以下を記述します。
- 電子フォームの格納場所を初期化パラメタuji.formPathで指定します。この指定が省略された場合、Formcoordinatorの「環境設定」で指定された格納先が使用されます。
<context-param>
<param-name>uji.formPath</param-name>
<param-value>c:\temp\assets</param-value>
</context-param> |
- ユーザ定義のファクトリクラスのクラス名を初期化パラメタfactoryで指定します。ファクトリクラスの詳細は
ファクトリクラスを参照してください。
<context-param>
<param-name>factory</param-name>
<param-value>form.FormFactory</param-value>
</context-param> |
- エラーページのJSPファイル名を指定します。初期化パラメタuji.servlet.defaultErrorPageに指定します。
<context-param>
<param-name>uji.servlet.defaultErrorPage</param-name>
<param-value>formError.jsp</param-value>
</context-param> |
エラーページをJSPで作成しておくと便利です。
予期せぬエラーが発生した場合に指定したエラーページが表示されます。
以上の設定を記述したweb.xmlの例を以下に示します。
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<!-- エンコーディングは電子フォーム機能で制御するため、以下を必ず指定します -->
<context-param>
<param-name>uji.defaultEncoding</param-name>
<param-value>none</param-value>
</context-param>
<!-- セションクラス等利用する場合にファクトリを指定します -->
<context-param>
<param-name>factory</param-name>
<param-value>form.FormFactory</param-value>
</context-param>
<!-- エラーページの指定です -->
<context-param>
<param-name>uji.servlet.defaultErrorPage</param-name>
<param-value>formError.jsp</param-value>
</context-param>
<!-- 電子フォームの格納場所を指定します。省略した場合、Formcoordinatorの「環境設定」で格納先を設定します。 -->
<context-param>
<param-name>uji.formPath</param-name>
<param-value>c:\temp\assets</param-value>
</context-param>
<!-- 以下はサーブレット名を設定する記述です -->
<servlet>
<servlet-name>formservlet</servlet-name>
<servlet-class>form.FormSample</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>formservlet</servlet-name>
<url-pattern>/formservlet</url-pattern>
</servlet-mapping>
</web-app>
|
All Rights Reserved, Copyright © 富士通株式会社 2000-2005