サポート > リポジトリ > 画面機能 > 画面遷移 (6) 画面遷移パラメータまとめ

画面遷移時のパラメータをまとめます。

適用画面 イベント名 コマンド 説明
登録画面 New BeginInsert 新規登録画面を開きます。
登録画面 Send DoInsert 登録処理を行います。(フォームデータが送信され、データが登録されます。)
更新画面 Update BeginUpdate 更新画面を開きます。
更新画面 Send DoUpdate 更新処理を行います。(フォームデータが送信され、データが更新されます。)
登録・更新画面 Add AddItem 繰り返し項目または繰り返しコンテナ項目を追加します。
登録・更新画面 Remove RemoveItem 繰り返し項目または繰り返しコンテナ項目を削除します。
登録・更新画面 MoveUp MoveUpItem 対象となる繰り返し項目または繰り返しコンテナ項目の位置を一つ上へ移動します。
登録・更新画面 MoveDown MoveDownItem 対象となる繰り返し項目または繰り返しコンテナ項目の位置を一つ下へ移動します。
登録・更新画面 Sort DoSort 対象となる繰り返し項目または繰り返しコンテナ項目の並び替えを行います。
登録・更新画面 Zipcode Zipcode 郵便番号から住所を求めます。
登録・更新画面 FileUpload FileUpload ファイルを送信します。
登録・更新画面 Cancel Cancel 登録・更新処理をキャンセルします。
登録・更新画面 Confirm Confirm 確認画面へ遷移させます。
登録・更新画面 Clear / AllClear AsIs 値を消去後、画面再描画を行います。
登録・更新画面 GetXml GetXml Ajaxでデータをやりとりします。
検索画面 Reset Search 現在の検索条件をリセットし、外部パラメータを用いた検索処理を行います。外部からパラメータを渡す場合に有効です。
検索画面 Search Search 最初にセットされた検索条件を使います。このため二回目以降の外部パラメータはセットされません。これは検索画面と一覧表示画面を行き来するような画面遷移で、検索条件を保持するためのイベントです。
検索画面 Search_Condition Search Searchと同様ですが、パラメータがない場合は空の検索条件が指定されたものとして扱います。
一覧表示画面 Show Forward 詳細画面へ遷移します。
一覧表示画面 Update Forward 更新画面へ遷移します。
一覧表示画面 Copy Forward コピー登録画面へ遷移します。
一覧表示画面 SizePerChange ChangeSizePerPage 表示件数を変更します。
一覧表示画面 Sort DoSort 一覧表示データの並び替えを行います。
一覧表示画面 Next Next 一覧表示データの、次の N 件を表示します。
一覧表示画面 Prev Prev 一覧表示データの、前の N 件を表示します。
一覧表示画面 First First 一覧表示データの、最初の N 件を表示します。
一覧表示画面 Last Last 一覧表示データの、最後の N 件を表示します。
一覧表示画面 Jump Jump 一覧表示データでページネーション処理を行います。
一覧表示画面 DeleteAll DoDeleteAll 一覧表示で選択されたデータの一括削除処理を行います。
一覧表示画面 UpdateAll DoUpdateAll 一覧表示で選択されたデータの一括更新処理を行います。
詳細画面 Show DoShow 詳細画面を開きます。[自分自身の画面に戻る場合の注意事項...]
削除画面 Send DoDelete データを削除します。
登録・更新・詳細画面 Print DoPrint 帳票処理を行います。
一覧表示画面 PrintAll DoPrintAll 一覧表示データの帳票処理を行います。
一覧更新画面 ULInsert UpdateListInsert データを新規に作成します。編集画面のみに反映されます。
一覧更新画面 ULCopy UpdateListCopy データのコピー登録を行います。編集画面のみに反映されます。
一覧更新画面 ULExecute UpdateListExecute 編集画面上のデータを更新します。
一覧更新画面 ULCancel UpdateListCancel 編集画面のデータを破棄します。
ダウンロード画面 Reset InputCondition ダウンロード画面(検索画面)を開く。R7.10.2
アップロード更新画面 Status ShowStatus アップロード更新の稼働状況画面を開く。R7.11
(すべて) (開発者が決めるイベント名) UserDefined オリジナルボタン押下時に送信します。
イベント名は大文字小文字を区別します。正確に入力してください。

カスタマイズ開発者向け情報

Java および(サーバサイド)JavaSciprt では、イベント名は p.action で取得できます。内部コマンド情報は p.cmd で取得できます。

基本的なルール

パラメータの右側に記載する項目(${...}で指定した項目)がモデル参照の場合、次のルールで値を渡します。

  • モデル参照の場合はID部を渡します。
  • 参照連動の場合は内容部を渡します。

このルールを変更したい場合、項目名の後ろに #id または #content を指定してください。 例えば参照連動項目 companyname について、ID 値を渡したい場合は ${companyname#id} と記述します。

遷移先モデルが複合キーの場合

遷移元を model1、遷移先を model2 とします。model2 は複合キーで、それぞれ pkey1 と pkey2 とします。

この場合は model1 が保持する二つの項目(例 item1, item2)をそれぞれ pkey1, pkey2 に渡すようにします。渡す側と、受け取る側の項目の型を合致させてください。

遷移先モデルのモデル参照項目が複合キーの場合

遷移元を model1、遷移先を model2 とします。model2 内の項目 item3 はモデル参照項目で、参照先モデルを model3 とします。model3 は複合キーで、それぞれ pkey1, pkey2 とします。

図1 サンプルの構成

model1に用意したボタンで記載するパラメータ

参照先モデルの主キーが複合キーの場合、追加パラメータを次のように記述します。

項目名=${主キー1}$SEP$${主キー2}

主キー項目名を ${...} で記述しますが、さらにキーの連結文字列として、間に$SEP$を加えています。

item3=${item1}$SEP$${item2}
図2 model2へ渡すパラメータ

model2に用意するスクリプト

受け側となる model2 では、初期値の式ではなく、スクリプトによって値を解析してセットします。タイミングは「登録(初期データ作成)」です。

var item3 = p.request.getParameter("item3");
if (item3 != null) {
    var ss = item3.split("$SEP$");
    /*
    for (var i in ss) {
        stdout.println(i+"="+ss[i]);
    }
    */
    model2.item3Pkey1 = ss[0];
    model2.item3Pkey2 = ss[1];
}
図3 model2に用意するスクリプト

p.request は、Java アプリケーションサーバが管理する request オブジェクトです。getParameter メソッドを使うと、図2で指定したパラメータを受け取ることができます。

$SEP$ を区切り文字として split 関数を呼び出すと、配列が用意されます。個々の値を model2 の要素にセットします。

ここで、model2 では "item3" という項目を用意していますが、内部では次のように管理されています。

項目名_参照先モデルの主キー項目名(1番目)
項目名_参照先モデルの主キー項目名(2番目)

すなわち model2 では "item3_pkey1" と "item3_pkey2" という二つの項目が内部で保持されます。サーバサイドJavaScriptではキャメルルールにより、それぞれ "item3Pkey1", "item3Pkey2" と表記されます。(Pkeyの'P'が大文字になっています。) *1

1. pkey1,pkey2という表記は固定ではありません。例えば参照先モデルの主キー項目名が id1, id2 だった場合は、model2.item3Id1 = ss[0]; model2.item3Id2 = ss[1]; となります。

遷移元モデルのモデル参照項目が複合キーの場合 R7.10.2

遷移元を model1、遷移先を model2 とします。model1 内の項目 item1 はモデル参照項目で、参照先モデルを model3 とします。model3 は複合キーで、それぞれ pkey1, pkey2 とします。

参照先モデルの主キーが複合キーの場合、追加パラメータを次のように記述します。

項目名=${項目名#id}$SEP$${項目名#id2}

項目名を ${...} で記述しますが、さらに項目名の後ろに #id, #id2,... という接尾語を加えています。接尾語の数字に対応して、model3 の主キー pkey1, pkey2 がそれぞれ渡されます。

遷移先モデル model2 の item 項目に渡す場合、次のようになります。

item=${item1#id}$SEP$${item1#id2}

受け側である model2 では、スクリプトを使って区切り文字 $SEP$ を分割してください。(「遷移先モデルのモデル参照項目が複合キーの場合」で説明済みのため、省略します。)

チェックボックスの場合 R7.10.2

チェックボックス型項目の場合、コンマ区切りで値(参照先モデルのID部)が渡されます。遷移先モデルではスクリプトを使って、値を分割してから格納するようにしてください。遷移先モデル model2 の item 項目(これもチェックボックス型を想定)に値を格納するスクリプトの例を示します。

var item = p.request.getParameter("checkbox");
if (item !== null) {
  var array = item.split(",");
  var i;
  for (i=0; i<array.length; i++) {
    /*stdout.println("i="+i+","+array[i]);*/
    if (array[i] !== '') {
      model2.addItem(parseInt(array[i]));/*model2のitemはチェックボックス型*/
    }
  }
}

区切り文字を変更する

コンマ以外の文字を区切り文字としたい場合、パラメータを次のように記述します。

item=${checkbox;|}

セミコロンのあとに区切り文字を指定します。受け側の JavaScript もそれにあわせて改造してください。

制約:この区切り文字指定機能に、次の文字は利用できません。

「;」「(」「)」「[」「]」「&」「=」「>」「<」「$」

Wagby Developer Day 2017