Cosminexus V9 ナビゲーション プラットフォーム 開発ガイド

[目次][用語][索引][前へ][次へ]

5.2.1 executeメソッド

入出力プラグインのサーバ処理を実行します。

<この項の構成>
(1) 形式
(2) 引数
(3) 戻り値
(4) 例外
(5) プラグインで保持されるキャッシュ値

(1) 形式

public Map<String, Object> execute(HttpSession session, Map<String, Object> param);

(2) 引数

(a) session

現在のセッションが格納されます。このセッションに対してsetAttribute()メソッドを実行する場合,setAttribute()メソッドの引数nameに次の名前を指定しないでください。

また,URLのリクエストパラメタを利用することもできます。URLのリクエストパラメタを利用する場合は,次のキーでucnpOptionsパラメタを取得する必要があります。

ucnp.request.optionsキー
セッションから,URLに指定したucnpOptionsパラメタの値を取得するためのキーです。HttpSession.getAttribute()メソッドにこのキーを指定することで,URLデコードされたucnpOptionsパラメタの値を取得できます。URLにucnpOptionsパラメタを指定していない場合は,nullが返されます。
ucnp.request.optionsキーの指定例については,「5.3 IIoPluginController(サーバ処理実装インタフェース)」のinputFromNodeメソッドの指定例を参照してください。
(b) param

クライアントから送信される次のキーが格納されます。paramパラメタは更新しないでください。

表5-2 paramに格納されるキー

項番 キー名 説明
1 ucnp.current.params.map Map<String,String>
  • キー:1文字以上の文字列
  • 値:0文字以上の文字列
遷移元のガイドでユーザが入力したパラメタが,キーと値を対にしたMapとして渡されます。
2 ucnp.next.params.map Map<String,String>
  • キー:1文字以上の文字列
  • 値:0文字以上の文字列
遷移先のガイドに以前入力されていたパラメタが,キーと値を対にしたMapとして渡されます。
3 ucnp.button.type String
次のどれか
  • "show_previous_page"
  • "show_next_page"
  • "show_complete_page"
  • "start"
クリックされたボタンの種別,または遷移の種別を示します。
  • "show_previous_page"
    ・[戻る]ボタン
    ・前のノードに直接遷移
  • "show_next_page"
    ・[次へ]ボタン,または直接遷移で次のノードに遷移
    ・遷移先のノードが存在しているプロセスノード,または[戻る]ボタンが表示になっているプロセスノードに遷移
  • "show_complete_page"
    ・[完了]ボタン
    ・遷移先ノードが存在しない,かつ[戻る]ボタンが非表示になっているプロセスノードに遷移
  • "start"
    ・ターミナルノード(開始)からプロセスノードに遷移
    ・ターミナルノード(開始)に接続されていない先頭のプロセスノードを表示
4 ucnp.current.node.name String
0文字以上の文字列
遷移元のガイドに対応したノードの名称が渡されます。
名称が設定されていないノードの場合は,空文字が渡されます。
5 ucnp.next.node.name String
0文字以上の文字列
遷移先のガイドに対応したノードの名称が渡されます。
名称が設定されていないノードの場合は,空文字が渡されます。
6 ucnp.current.node.id String
0文字以上の文字列
遷移元のガイドに対応したノードIDが渡されます。
ノードIDが設定されていない場合は,空文字が渡されます。
7 ucnp.next.node.id String
0文字以上の文字列
遷移先のガイドに対応したノードIDが渡されます。
ノードIDが設定されていない場合は空文字が渡されます。
8 ucnp.flow.contents.id String
1文字以上の文字列
選択中の業務コンテンツの業務コンテンツIDが渡されます。
9 ucnp.flow.contents.name String
1文字以上の文字列
選択中の業務コンテンツの業務名が渡されます。
ucnp.current.params.mapキーおよびucnp.next.params.mapキーの詳細を次に示します。
ucnp.current.params.mapキーの詳細
キー
  • ターミナルノード(開始)から遷移した場合,および[次へ]ボタン,[工程名へ]ボタン,または[完了]ボタンをクリックした場合は,入力パラメタとなります。
    入力パラメタは,入出力プラグイン用XMLファイル(ioaction.xml)の<parameters type="input">タグで定義されている各<param>タグのname属性の値です。
  • [戻る]ボタンをクリックした場合は,出力パラメタとなります。
    出力パラメタは,入出力プラグイン用XMLファイル(ioaction.xml)の<parameters type="output">タグで定義されている各<param>タグのname属性の値です。なお,出力パラメタを複数のガイドパーツに関連づけているときは,どのガイドパーツの値になるかは不定です。不定にならないようにするには,出力パラメタとガイドパーツを一対一で関連づける必要があります。
  • パーツと関連づけられていない入力パラメタ,および出力パラメタのキーはMap自体に含まれません。
入力パラメタ,および出力パラメタに関連づけられているパーツのキャッシュ値です。各パーツのキャッシュ値の詳細は,「(5) プラグインで保持されるキャッシュ値」を参照してください。
ただし,HTMLパーツの入力パラメタの場合は,キャッシュ値とは異なる値が渡されます。渡されるのはHTMLパーツの要素のうち,次の表に示す要素のname属性とvalue属性の値をエンコードした文字列です。エンコードした文字列をプラグインで処理できるようにするためのAPIについては,「5.7 ParamConvertUtil(入出力パラメタ変換ユーティリティクラス)」を参照してください。

表5-3 HTMLパーツの入力パラメタとして取得される要素

項番 取得される要素 要素の属性 説明
1 <INPUT> type="checkbox" 要素のchecked属性がtrueの場合に取得されます。
2 type="radio" ラジオボタンは,name属性でグループ化されています。このため,グループに所属するラジオボタンのうち,checked属性がtrue(選択状態)の場合に取得されます。
3 type="text"
4 type="hidden"
5 type属性の指定なし
6 <TEXTAREA>
7 <SELECT>
(凡例)
−:ありません。
注※
この表で示すtype属性以外のtype属性を持つ要素は取得されません。

ucnp.next.params.mapキーの詳細
キー
  • ターミナルノード(開始)から遷移した場合,および[次へ]ボタン,[工程名へ]ボタン,または[完了]ボタンをクリックした場合は,出力パラメタとなります。
  • [戻る]ボタンをクリックした場合は,入力パラメタとなります。
  • パーツと関連づけられていない入力パラメタ,および出力パラメタのキーはMap自体に含まれません。
入力パラメタ,および出力パラメタに関連づけられているパーツのキャッシュ値です。各パーツのキャッシュ値の詳細は,「(5) プラグインで保持されるキャッシュ値」を参照してください。
ただし,HTMLパーツの入力パラメタの場合は,キャッシュ値とは異なる値が渡されます。渡されるのはHTMLパーツの要素のうち,表5-3に示す要素のname属性とvalue属性の値をエンコードした文字列です。エンコードした文字列をプラグインで処理できるようにするためのAPIについては,「5.7 ParamConvertUtil(入出力パラメタ変換ユーティリティクラス)」を参照してください。

(3) 戻り値

次の表に示す制御用パラメタを返します。

表5-4 executeメソッドの戻り値

項番 キー名 説明
1 ucnp.next.params.map Map<String,String>
  • キー:1文字以上の文字列
  • 値:0文字以上の文字列
遷移先のガイドに表示するパラメタを,キーと値を対にしたMapとして設定してください。
このキーを指定しない場合,以前設定されたキャッシュ値が使用されます。各パーツのキャッシュ値については「(5) プラグインで保持されるキャッシュ値」を参照してください。
2 ucnp.error.message String
0文字以上の文字列
ノード遷移を抑止したい場合,このキーを設定してください。このキーに設定した文字列がメッセージダイアログに表示され,ノード遷移が抑止されます。
複数の入出力プラグインでこのキーを設定している場合,設定した文字列を改行で連結した値が一つのメッセージダイアログに表示されます。
このキーを設定している場合,このキーとucnp.error.params.listキーに設定しているデータ以外は無視されます。
なお,入出力プラグインが出力するエラーメッセージが多数の改行を含む場合,JavaScriptのAlertでエラーメッセージが表示されるので,メッセージダイアログの一部が画面に表示されなくなることがあります。そのため,エラーメッセージは画面に表示できる長さにしてください。
3 ucnp.error.params.list List<String>
1文字以上の文字列
エラーとなったパーツを強調表示したい場合,そのパーツに関連づけた入力パラメタまたは出力パラメタのリストを,このキーの値に設定してください。色の付いた枠で強調表示されます。
強調表示時の枠の色のデフォルトは赤色です。この枠の色はユーザプロパティファイル(ucnp_user.properties)のucnp.base.client.erroritem.emphasis.border.colorプロパティで変更できます。
ユーザプロパティファイルについては,マニュアル「Cosminexus V9 ナビゲーション プラットフォーム 導入から運用まで」を参照してください。
このキーは,ucnp.error.messageキーと一緒に戻り値のMapに設定してください。このキーを設定していても,ucnp.error.messageキーを設定していない場合,強調表示されません。
ucnp.next.params.mapキーとucnp.error.messageキーを同時に指定すると,ucnp.error.messageキーが有効になり,ucnp.next.params.mapキーは無視されます。

ucnp.next.params.mapキーの詳細を次に示します。

ucnp.next.params.mapキーの詳細
キー
  • ターミナルノード(開始)から遷移した場合,および[次へ]ボタン,[工程名へ]ボタン,または[完了]ボタンをクリックした場合は,出力パラメタを指定してください。
    入出力プラグイン用XMLファイル(ioaction.xml)の<parameters type="output">の下位にある,<param>タグのname属性に指定されている出力パラメタ名が,Mapオブジェクトのキーに含まれないとき,その出力パラメタ名と関連づけられている遷移先のガイド領域のパーツにはキャッシュ値が使用されます。
  • [戻る]ボタンをクリックした場合は,入力パラメタを指定してください。
    入出力プラグイン用XMLファイル(ioaction.xml)の<parameters type="input">の下位にある,<param>タグのname属性に指定されている入力パラメタ名が,Mapオブジェクトのキーに含まれないとき,遷移元のガイド領域のパーツにはキャッシュ値が使用されます。
  • ガイドパーツに複数の入力パラメタを関連づけている場合は,どの入力パラメタの値がキャッシュ値になるかは不定です。不定にならないようにするには,入力パラメタとガイドパーツを一対一で関連づけてください。
遷移後のガイド領域に表示するパラメタを指定してください。このパラメタには,パーツのキャッシュ値が設定されます。HTMLパーツの場合,出力パラメタの値に動作保証外のタグやCSSが含まれているかはチェックされません。また,出力パラメタの値はサニタイズされません。
戻り値にnullを指定した場合の処理を次に示します。
  • インラインフレームパーツ,固定テキストパーツ,またはHTMLパーツの場合,空文字が使用されます。
  • 画像パーツ,またはハイパーリンクパーツの場合,改行コード("\r\n")が使用されます。
  • これら以外のパーツの場合,何も実行されないで,すべて以前の値(キャッシュ値)が使用されます。

(4) 例外

なし

(5) プラグインで保持されるキャッシュ値

プラグインで保持される各パーツのキャッシュ値を次の表に示します。

表5-5 各パーツのキャッシュ値

項番 パーツの種類 キャッシュ値 初期値
1 固定テキスト 表示文字列 [属性の設定]画面の[表示文字列]テキストボックスに指定した値
2 画像 URLとツールチップの属性値を改行で連結した文字列
(ツールチップが空文字の場合でも,改行コードはキャッシュ値に含まれます。)
[属性の設定]画面の[URL]テキストボックスに指定した値と[ツールチップ]テキストボックスに指定した値を改行で連結した値
3 テキストボックス テキストボックスに入力されている値 [属性の設定]画面の[初期値]テキストボックスに指定した値
4 テキストエリア テキストエリアに入力されている値 [属性の設定]画面の[初期値]テキストエリアに指定した値
5 ラジオボタン 選択されているラジオボタンの[属性の設定]画面の[値]テキストボックスに指定した値
(ラジオボタンが選択されていない場合はnull)
null
6 チェックボックス 「true」:チェック状態の場合
「false」:チェック状態でない場合
(どちらの場合も,文字列で半角小文字)
[属性の設定]画面の[初期値をチェック状態にする]チェックボックスの状態によって値が異なります。
  • true:チェック状態とした場合
  • false:チェック状態でない場合
7 ドロップダウン 選択されている[選択項目一覧]の値
(値にコンマや引用符(")が含まれている場合でも,CSVのエスケープはしないで,そのままの値を指定します。例えば,「神"奈川"」という値をキャッシュ値とする場合も,「"神""奈川"""」にはなりません。)

  • [属性の設定]画面の[選択項目一覧]の値のうち,[親の値]に対応する最初の値(対応する[親の値]がない場合は,空文字)
  • 親ドロップダウンがない場合は,[属性の設定]画面の[選択項目一覧]の値のうち,[親の値]が空文字となっている最初の値
8 ハイパーリンク アンカーの文字列とURLに指定した値を改行で連結した文字列
(ツールチップは文字列に含まれません。)

  • アンカーの文字列とURLに指定した値を改行で連結した文字列
  • [属性の設定]画面の[アンカー文字列]テキストボックスと[URL]テキストボックスに指定した値
9 インラインフレーム 表示されているページのURL
(フレーム枠の有無は含まれません。)
[属性の設定]画面の[URL]テキストボックスに指定した値
10 HTMLパーツ 表示されているHTMLコンテンツ [属性の設定]画面の[HTMLソース文字列]テキストボックスに指定した値

全パーツ共通の注意事項

テキストボックスの注意事項

ドロップダウンの注意事項

ハイパーリンクの注意事項