String strSubmitDate = request.getParameter(“company”); //TextBox Component
② binaryデータの取得
SignPAD、ImagePicker Componentに入力されたデータはイメージデータで、サーバーに転 送される時
には文字列データではなく、binaryデータとして転送されます。
サーバー側のJSPでデータを取得する方法は前章の‘① 文字列データの取得’の方法と同一で すが、取得したデータは次のようなbinaryデータです。
例) request.getParameter(“SignPad1”)を利用してSignPADのイメージデータを取得した場 合
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcIAAAGQAQMAAAAHkPL6 AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6A AAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZQTFRFAAAA////pdmf3QAAAoZJRE FUeNrt10Fu1DAUBuDZsewRehAWORYLhLxk2SPkCCxZGsQBcgJwWWXpoizSkScxaQe mSfxeXvgFqip+S8mMo3yjZ78Xe3LIYPt0oKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKS kpKSkpKSkpKT8S/IzLL/C8hssgwPlWHlUZlyGFyXjM8j+Rcn0DHL4N/L28NiuRDluyNP1+
TP+sewyKptNmZ0uAywrUN5drivSa/Iqg/I+o/I9Kk9uWx6nqZdll7dlq8obQ9bTZVHOgx Wl0+Q8WElOE5R7UTaGHKYjibIyZHrQkjxlQ/YPEUuys2TUZGPJoElvSa/I0VnSKfKYDTlmR baWHDRZWzIpclG0ouwV2WVLNo/nUt5sylf5d9YKucrJWr7J56QIcpUTQY5Zlq0pj4qst+X bX1NbymKYpYyyLIa5ku8uUa1luy3vh0tUaxkK2c87aTxXrSC9IbPTpDNlkuUpW9IrsitlW naCIqMpb1/LMhhyCv2jLCtDTjF9EOWYDRmeCnspj4Ic5h3/9HUpW1jWlnSKLB+xlZwXy kJKw1zIpMnekr0mG0tGTXpLNpp0lvSwdIqUam8hFzfM5WDJAZZJk18s2WsyWDLCMsCy QuUya3PpDTmo0hkyafKUDdlqcrBkgKVH5WqVmsnvhlz9sv1ufwEdLCMsAywrVK7Xmv 3yCMselg0sPSqLHXK3/JFR2aByrFBZbud7ZQvLGpYOlcK6uFMmWPawjLAMsPSwdKiU/u /skwMsO1g2sKxQKe7mu2QHywjLGpV3DpVisLtkgKWHpUOl/GKwRw6wTLDsYRlROV6j UmuUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJT/qfwJ+Lcf03q3Ah8AAAAASUVORK5CYII=
上記の通りにSignPAD、ImagePicker Componentを利用した場合、サーバー側のJSPで binaryデータを別途管理するロジックを生成して利用する必要があります。
③ Form IDを利用したデータの取得
Input Component名ではなく、指定されたForm IDを利用してデータを取得することができ ます。
Input ComponentのOnInitializeイベントにSetFormID()を利用してFormIDを指定した場合 にはInput Component名ではなくFormIDを利用してデータを取得する必要があります。
OZ e-Formをデザインする時、Input ComponentにFormIDを設定しましたが、サーバー側 のJSPモジュールでFormIDではないComponentを利用する場合に正常にデータを取得するこ とはできません。
例) Input ComponentのOnInitializeイベントにSetFormID()を指定した場合にデータを取得 する方法
String strSubmitDate = request.getParameter(“DateTimePicker1”); // “”(空白)を取得 String strSubmitDate = request.getParameter(“submit_date”); // 2013-01-21を取 得
④ XML構造の文字列データの確認
Input Componentに入力されたデータをXML構造の文字列で確認することができます。
Button ComponentのOnClickイベントに次の通りにスクリプトを作成し、OZ Viewerを実行 して[Submit]ButtonをクリックするとMessageBoxで次の通りにXML構造の文字列データを 確認することができます。
OZ e-FormではInput Component Name、またはFormIDをElementにするXML構造の文字 列データをサポートします。
<ozform>
<submit_date>2013-01-21</submit_date> <!-- FormID -->
<industry></industry> <!—Component Name -->
<job></job>
<relationship></relationship>
<company></company>
<phone></phone>
<cellphone></cellphone>
<SignPad1></SignPad1>
<SignPad2></SignPad2>
<AS> Application Servers::true</AS>
<IA> Intelligent Appliances::false</IA>
<HS> Healthcare Solution(HS)::false</HS>
<MDA> Middleware - Data Access::false</MDA>
<BI> Business Intelligence(BI)::true</BI>
<MDM> Middleware - Data Movement::false</MDM>
<CRM> Customer Relationship Management(CRM)::false</CRM>
<DW> Datawarehousing/Integration(DW)::false</DW>
<RadioButtonGroup1></RadioButtonGroup1>
<comment></comment>
<ImagePicker1></ImagePicker1>
<SignPad3></SignPad3>
</ozform>
※ 制約事項
Mobile Deviceで のみ機 能 を サ ポ ー ト し て い るVoice Recorder Componentの 場 合 、 Button Componentを利用してサーバー側のモジュールに転送されるデータから除外される ため、Voice Recorder Componentを利用して録音された音声データをMobile Appなどと の連動を通じて別途サーバーに転送する必要があります。
添付ファイル
(OZ e-From
Sample)
InputForm.ozr
⑤ 入力データのValidity確認
ButtonをクリックしてButtonのURL属性に指定したサーバーにデータを転送する前、ユーザ ーがInput Componentにデータを入力したかなどのValidityを確認するために次の通りに ButtonのOnCheckValidityイベントを利用することができます。
例) ButtonのOnCheckValidityイベントでユーザーがNameを入力したかを確認する方法 if(This.GetInputValue("SingPad1")=="") {
_MessageBox("you must input name!", "alert");
return;
}
Input ComponentにFormIDを設定した場合にはComponent Nameの代わりに設定した FormIDを指定する必要があります。
例えば、ユーザーのCommentを入力してもらうTextBoxのOnInitializeイベントにFormIDを commentで設定した場合、TextBox Nameの代わりにFormIDのcommentを利用します。
例) ButtonのOnCheckValidityイベントでユーザーがCommentを入力したかを確認する方法 if(This.GetInputValue("comment")==""){
_MessageBox("you must input comment!", "alert");
return;
}