Formcoordinator ユーザーズガイド - ソフトウェア - Fujitsu

Formcoordinator ユーザーズガイド - ソフトウェア - Fujitsu Formcoordinator ユーザーズガイド - ソフトウェア - Fujitsu

software.fujitsu.com
von software.fujitsu.com Mehr von diesem Publisher
14.02.2013 Aufrufe

setItemAttribute()メソッドで扱われるドキュメントオブジェクトについては、「2.3.1 処理の流れとデータ」の「■ 項目制御情報 」を参照してください。 電子フォーム格納パスの指定について Webアプリケーション全体で同じ電子フォーム格納パスを使用する場合、WindowsではFormcoordinatorの環境設定で、 SolarisおよびLinuxではFormcoordinatorの環境設定コマンドのmxsetassetsdirコマンドで、電子フォーム格納先ディレクト リを設定します。この場合、OutputDataBuilderクラスのコンストラクタでは、電子フォーム格納パスを省略できます。 Webアプリケーションごとに異なる電子フォーム格納パスを使用する場合は、サーブレットの初期化パラメタを利用するこ とで、運用環境で格納先が変更になっても、Webアプリケーションを修正しないで格納先を変更できます。 サーブレットの初期化パラメタに電子フォーム格納パスを渡す場合は、Webアプリケーション環境定義ファイルに指定し ます。 Webアプリケーション環境定義ファイルは、次に示す構成で配置されています。 ・ 格納場所 Webアプリケーションのルートフォルダ¥WEB-INF ・ ファイル名 web.xml web.xml内のサーブレット属性の初期化パラメタに、電子フォーム格納パスを定義します。 例:記述方法 電子フォーム格納パスを「c:¥pmd」としたい場合、DescriptorStoragePath(任意に定義できます)をパラメタ名とし、その値 として、電子フォーム格納パスを指定します。 servletapp servletapp DescriptorStoragePath file:///c:/pmd 電子フォーム格納パスを「/home/pmd」としたい場合、DescriptorStoragePath(任意に定義できます)をパラメタ名とし、そ の値として、電子フォーム格納パスを指定します。 servletapp servletapp DescriptorStoragePath file:////home/pmd 例:取得方法 電子フォーム格納パスは、java.servlet.ServletConfigインターフェースのgetInitParameter()メソッドで取得します。 String formPath = getInitParameter("DescriptorStoragePath"); ■ 使用例 OutputDataBuilderクラスの使用例を次に示します。 Webブラウザから送信された入力データを使用して電子フォームを表示する場合 この例では、InputDataBuilderクラスのgetXMLData()メソッドでWebブラウザからXMLデータ形式で送信された入力デー タのドキュメントオブジェクトを生成しています。生成したドキュメントオブジェクトをOutputDataBuilderクラスのsetXMLData() メソッドで設定してwrite()メソッドを行い、Webブラウザから送信されたデータを電子フォームに表示しています。 - 253 -

import org.w3c.dom.* ; import javax.servlet.* ; import javax.servlet.http.* ; import java.io.* ; import com.fujitsu.form.* ; public class SampleServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { // InputDataBuilderオブジェクトを生成します。 InputDataBuilder idb = new InputDataBuilder(request); // Webブラウザから送信された入力データをドキュメントオブジェクトで取得 // します。 Document doc = idb.getXMLData() ; // OutputDataBuilderオブジェクトを生成します。 // Windowsの場合は以下のように記述します。 OutputDataBuilder odb = new OutputDataBuilder(request, java.net.URLEncoder.encode( "file:///c:/pmd",System.getProperty( "file.encoding")), "sample"); // SolarisおよびLinuxの場合は以下のように記述します。 // OutputDataBuilder odb = new OutputDataBuilder(request, // java.net.URLEncoder.encode( // "file:////home/pmd",System.getProperty( // "file.encoding")), "sample"); // もう一方のコンストラクタの場合は以下のとおりです。 // Windowsの場合は以下のように記述します。 // OutputDataBuilder odb = new OutputDataBuilder(request.getHeader( // "User-Agent"), java.net.URLEncoder.encode( // "file:///c:/pmd",System.getProperty( // "file.encoding")), "sample"); // SolarisおよびLinuxの場合は以下のように記述します。 // OutputDataBuilder odb = new OutputDataBuilder(request.getHeader( // "User-Agent"), java.net.URLEncoder.encode( // "file:////home/pmd",System.getProperty( // "file.encoding")), "sample"); // Webブラウザから送信された入力データを設定します。 odb.setXMLData(doc, true) ; // 設定した入力データを使用して、電子フォームをHTMLデータに変換して // 出力します。 odb.write(response.getOutputStream()); } catch(Exception e){ // 例外処理 ・ ・ ・ } } } 雛形のXMLデータを取得して電子フォームを表示する場合 - 254 -

setItemAttribute()メソッドで扱われるドキュメントオブジェクトについては、「2.3.1 処理の流れとデータ」の「■ 項目制御情報<br />

」を参照してください。<br />

電子フォーム格納パスの指定について<br />

Webアプリケーション全体で同じ電子フォーム格納パスを使用する場合、Windowsでは<strong>Formcoordinator</strong>の環境設定で、<br />

SolarisおよびLinuxでは<strong>Formcoordinator</strong>の環境設定コマンドのmxsetassetsdirコマンドで、電子フォーム格納先ディレクト<br />

リを設定します。この場合、OutputDataBuilderクラスのコンストラクタでは、電子フォーム格納パスを省略できます。<br />

Webアプリケーションごとに異なる電子フォーム格納パスを使用する場合は、サーブレットの初期化パラメタを利用するこ<br />

とで、運用環境で格納先が変更になっても、Webアプリケーションを修正しないで格納先を変更できます。<br />

サーブレットの初期化パラメタに電子フォーム格納パスを渡す場合は、Webアプリケーション環境定義ファイルに指定し<br />

ます。<br />

Webアプリケーション環境定義ファイルは、次に示す構成で配置されています。<br />

・ 格納場所<br />

Webアプリケーションのルートフォルダ¥WEB-INF<br />

・ ファイル名<br />

web.xml<br />

web.xml内のサーブレット属性の初期化パラメタに、電子フォーム格納パスを定義します。<br />

例:記述方法<br />

電子フォーム格納パスを「c:¥pmd」としたい場合、DescriptorStoragePath(任意に定義できます)をパラメタ名とし、その値<br />

として、電子フォーム格納パスを指定します。<br />

<br />

servletapp<br />

servletapp<br />

<br />

DescriptorStoragePath<br />

file:///c:/pmd<br />

<br />

<br />

電子フォーム格納パスを「/home/pmd」としたい場合、DescriptorStoragePath(任意に定義できます)をパラメタ名とし、そ<br />

の値として、電子フォーム格納パスを指定します。<br />

<br />

servletapp<br />

servletapp<br />

<br />

DescriptorStoragePath<br />

file:////home/pmd<br />

<br />

<br />

例:取得方法<br />

電子フォーム格納パスは、java.servlet.ServletConfigインターフェースのgetInitParameter()メソッドで取得します。<br />

String formPath = getInitParameter("DescriptorStoragePath");<br />

■ 使用例<br />

OutputDataBuilderクラスの使用例を次に示します。<br />

Webブラウザから送信された入力データを使用して電子フォームを表示する場合<br />

この例では、InputDataBuilderクラスのgetXMLData()メソッドでWebブラウザからXMLデータ形式で送信された入力デー<br />

タのドキュメントオブジェクトを生成しています。生成したドキュメントオブジェクトをOutputDataBuilderクラスのsetXMLData()<br />

メソッドで設定してwrite()メソッドを行い、Webブラウザから送信されたデータを電子フォームに表示しています。<br />

- 253 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!