JSPは、JavaServer Pages 1.1以降を利用して作成します。
JSPでWebアプリケーションを作成する場合は、下記に示す例で説明している処理を記述します。下記の記述以外は、サーブレットで作成するWebアプリケーションと同様に記述します。
例:
次に示す処理を拡張子「.jsp」のファイルに記述し、文字コードをShift_JISで保存します。保存したファイルをWebサーバに配置します。
<%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="com.fujitsu.form.OutputDataBuilder" %> <%@ page import="java.io.ByteArrayOutputStream" %> <% // これ以降は、サーブレットと同様の記述を行います。 // ここでは、単にOutputDataBuilderオブジェクトを生成しています。 OutputDataBuilder odb = new OutputDataBuilder(request, "電子フォーム名"); // 電子フォーム表示モードに環境定義モードを指定します。 odb.setDisplayMode(odb.DISPMODE_ENV); // コンテントタイプを設定します。 response.setContentType(odb.getContentType()); // ここからは、JSP固有の記述となります。 ByteArrayOutputStream baos = new ByteArrayOutputStream(); odb.write(baos); String html = baos.toString(odb.getCharset()); %> <%= html %>
JSPを作成する場合の留意点を次に示します。
電子フォームから変換したHTMLデータをWebブラウザへ出力する場合、JSPの出力ストリームと競合するので、responseオブジェクトの出力ストリームは使用しないでください。
Webブラウザへの出力には、HTMLデータを文字列にして参照する、または、ファイルへ出力してリダイレクトなどを使用する必要があります。
電子フォームを送信する場合は、コンテントタイプに「text/html;charset=Shift_JIS」または「text/html;charset=UTF-8」を指定してください。
正しく設定するには、OutputDataBuilderクラスのgetContentType()メソッドを利用して設定する必要があります。正しく設定しないと、電子フォームが正しく表示されない場合があります。詳細については、「C.1.2 クラス:OutputDataBuilder」の「getContentType()」を参照してください。
電子フォームを送信する場合、Formcoordinatorが生成するHTML以外のデータを送信しないでください。具体的には、JSPファイル中にHTMLタグやJavaの実行結果を表示するような処理は記述しないでください。記述すると、電子フォームが正しく表示されません。
コンパイル時および実行時のCLASSPATH環境変数に次に示すjarファイルを追加してください。
ファイル名 | ファイルの格納場所 |
---|---|
f3hksjsv.jar |
|
xmlpro.jar |
|
xmltrans.jar |
(注1) | 「フレームワークのインストールフォルダ」は、Business Application Serverの標準の設定では次に示すフォルダです。 |
(注2) | 「オペレーティングシステムの共通フォルダ」は、オペレーティングシステムの標準の設定では次に示すフォルダです。 |
複数のスレッド間で、Java APIが提供する各クラスのオブジェクトを共有しないでください。
Java APIで提供される各クラスのオブジェクトは、複数のスレッドから同時にアクセスされることを想定していません。したがって、複数のスレッドから同時にアクセスされた場合の動作は保証されません。