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

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

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

添付ファイルの項目名の文字列から成る列挙オブジェクト。該当するデータがない場合は、空の列挙オブジェクト ■ 補足 入力データの解析について、データサイズが1メガバイトを超える場合は、TEMP環境変数に設定されたフォルダに一時 ファイルが作成されます。システムを再起動してもTEMP環境変数に設定されたフォルダにf3hk****.tmpのファイルが 残っていた場合は、削除する必要があります。 また、入力データ中に添付ファイルなど、10メガバイトを超えるデータが含まれていた場合は、コンストラクタで「入力スト リームオブジェクトのデータ解析でエラーが発生しました。」という例外が通知されます。 ただし、InputDataBuilderクラスのデータサイズの上限値およびメモリ使用量の上限値が指定できるコンストラクタを利用 することにより上記の制御をカスタマイズすることができます。詳細については、「C.1.1 クラス:InputDataBuilder」の「■ コ ンストラクタの詳細」を参照してください。 ■ 使用例 InputDataBuilderクラスの使用例を次に示します。 Webブラウザから送信されたデータからパラメタを取得する場合 この例では、クライアントのWebブラウザからXMLデータ形式で送信されたデータから、パラメタの名前と値を取得してい ます。 getParameter()メソッドでコマンドボタンの項目名を引数に、コマンドボタンのラベル文字列を取得します。コマンドボタン のラベル文字列を取得できない場合は違うコマンドボタンであり、取得できる場合はコマンドボタンのラベル文字列を判 定するという制御方法です。 なお、キャンセルボタン送信では、このクラス構築時に例外が発生するため、HtmlFormUtilクラスを利用してください。 コマンドボタン項目で、項目名に「送信ボタン項目」、ラベルに「申請」、コマンド種別に「送信」が設定されている場合の 例を、次に示します。 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); // 「申請」ボタンで送信されてきたデータかを判定します。 String button = idb.getParameter("送信ボタン項目") ; if (button != null && button.equals("申請")) { } // 申請処理の続き ・ ・ ・ // 申請処理以外の続き ・ ・ ・ } catch(Exception e){ // 例外処理 ・ - 235 -

} } } ・ ・ Webブラウザから送信されたデータから添付ファイルを取得する場合 この例では、クライアントのWebブラウザからXMLデータ形式で送信されたデータから、添付ファイルのデータを取得し ています。また、添付ファイル一覧を取得し、データをサーバに保存しています。 import javax.servlet.* ; import javax.servlet.http.* ; import java.util.* ; 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); // 添付ファイルのデータ一覧を取得します。 Enumeration enum = idb.getAttachedFileNames() ; // 添付ファイルのデータ一覧から添付ファイルのサイズ、ファイル種別、 // ファイル名を取得し、添付ファイルのデータをファイルに保存します。 while(enum.hasMoreElements()) { // 添付ファイル項目名を取得します。 String itemname = (String)enum.nextElement(); // AttachedFileクラスを取得します。 AttachedFile attfile = idb.getAttachedFile(itemname); // ファイル種別を取得します。 String filetype = attfile.getType() ; // ファイルサイズを取得します。 long filesize = attfile.getSize() ; // ファイル名を取得します。 String filename = attfile.getFileName() ; // 添付ファイルを保存します。 FileOutputStream outs = new FileOutputStream("c:¥¥temp¥¥"+filename) ; // SolarisおよびLinuxの場合は以下のように記述します。 // FileOutputStream outs = new FileOutputStream("/var/tmp/"+filename) ; attfile.write(outs) ; outs.close() ; // 処理の続き ・ ・ ・ } } catch(Exception e){ // 例外処理 ・ ・ - 236 -

添付ファイルの項目名の文字列から成る列挙オブジェクト。該当するデータがない場合は、空の列挙オブジェクト<br />

■ 補足<br />

入力データの解析について、データサイズが1メガバイトを超える場合は、TEMP環境変数に設定されたフォルダに一時<br />

ファイルが作成されます。システムを再起動してもTEMP環境変数に設定されたフォルダにf3hk****.tmpのファイルが<br />

残っていた場合は、削除する必要があります。<br />

また、入力データ中に添付ファイルなど、10メガバイトを超えるデータが含まれていた場合は、コンストラクタで「入力スト<br />

リームオブジェクトのデータ解析でエラーが発生しました。」という例外が通知されます。<br />

ただし、InputDataBuilderクラスのデータサイズの上限値およびメモリ使用量の上限値が指定できるコンストラクタを利用<br />

することにより上記の制御をカスタマイズすることができます。詳細については、「C.1.1 クラス:InputDataBuilder」の「■ コ<br />

ンストラクタの詳細」を参照してください。<br />

■ 使用例<br />

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

Webブラウザから送信されたデータからパラメタを取得する場合<br />

この例では、クライアントのWebブラウザからXMLデータ形式で送信されたデータから、パラメタの名前と値を取得してい<br />

ます。<br />

getParameter()メソッドでコマンドボタンの項目名を引数に、コマンドボタンのラベル文字列を取得します。コマンドボタン<br />

のラベル文字列を取得できない場合は違うコマンドボタンであり、取得できる場合はコマンドボタンのラベル文字列を判<br />

定するという制御方法です。<br />

なお、キャンセルボタン送信では、このクラス構築時に例外が発生するため、HtmlFormUtilクラスを利用してください。<br />

コマンドボタン項目で、項目名に「送信ボタン項目」、ラベルに「申請」、コマンド種別に「送信」が設定されている場合の<br />

例を、次に示します。<br />

import javax.servlet.* ;<br />

import javax.servlet.http.* ;<br />

import java.io.* ;<br />

import com.fujitsu.form.* ;<br />

public class SampleServlet extends HttpServlet {<br />

public void doPost(HttpServletRequest request,<br />

HttpServletResponse response)<br />

throws IOException, ServletException<br />

{<br />

try {<br />

// InputDataBuilderオブジェクトを生成します。<br />

InputDataBuilder idb = new InputDataBuilder(request);<br />

// 「申請」ボタンで送信されてきたデータかを判定します。<br />

String button = idb.getParameter("送信ボタン項目") ;<br />

if (button != null && button.equals("申請")) {<br />

}<br />

// 申請処理の続き<br />

・<br />

・<br />

・<br />

// 申請処理以外の続き<br />

・<br />

・<br />

・<br />

}<br />

catch(Exception e){<br />

// 例外処理<br />

・<br />

- 235 -

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!