1. EntityView
GEMはエンティティに対して、検索一覧と詳細画面を自動生成する仕組みを提供しています。 EntityViewを利用することで、エンティティの検索一覧と詳細画面をカスタマイズし、表示項目の制御や入力方法の変更、ユーザ(ロール)に合わせたレイアウトの設定を可能とします。
2. 操作説明
2.1. 検索一覧
登録済みのエンティティのデータを検索し、一覧表示するための画面です。
ボタンエリア
新規登録
をクリックすると、エンティティの登録画面が表示されます。
登録画面では単一データを登録できます。
CSV Upload
をクリックすると、CSVアップロード画面が表示されます。
CSVアップロード画面ではCSVファイルを利用して、データの一括登録、更新ができます。
検索条件エリア
検索一覧の上部は検索条件を設定するエリアになっています。
通常検索
、 詳細検索
、 定型検索
の3種類の検索方法が用意されています。
通常検索
通常検索
は検索条件上部の 検索
をクリックすると、その下にエンティティの項目と検索条件を入力するフィールドが表示されます。
検索時に設定する検索条件を指定します。 項目により入力方法が変わります。 詳細は入力フィールドを参照してください。
検索項目に指定された条件を利用して検索を行います。
検索後は検索結果が表示され、検索条件は折り畳まれ、縮小表示になります。
再度検索条件を表示する時は 検索
の部分をクリックします。
検索項目に指定された条件を利用して検索を行い、結果をCSVファイルとしてダウンロードします。 クリック時に以下のダイアログが表示されます。
アップロード用の形式で出力を選択した場合、CSVアップロード画面でファイルのアップロードに利用できます。
検索条件をリセットします。 画面表示時に検索条件が指定されていた場合は、リセットを行うと画面表示時の状態に戻ります。
ゴミ箱を表示します。
検索結果で 削除
を行ったデータはゴミ箱に格納されます。
詳細検索
詳細検索
は検索条件上部の 詳細検索
をクリックすると、その下に任意のエンティティの項目と条件、キーワードを入力するフィールドが表示されます。
右側の +
は検索条件の追加、 -
は該当行を削除します。
型ごとにキーワードへ指定できる文字が変わります。
型 | 形式 |
---|---|
真偽値 |
|
日付 |
yyyyMMdd形式の文字列(20180601等) |
日時 |
yyyyMMdd形式の文字列(20180601等) |
時間 |
HHmmss形式の文字列(093000) |
参照型 |
参照データの名前 |
選択型 |
選択肢の値またはラベル |
数値 |
任意の数値 |
その他 |
任意の文字列 |
検索項目で指定した条件をどのように組み合わせるかを指定します。
- すべての条件に一致
-
AND条件で組み合わせます
- いずれかの条件に一致
-
OR条件で組み合わせます
- すべての条件に一致しない
-
NOT条件で組み合わせます
条件の組合せを任意に行いたい場合に指定します。
以下のような書式で指定してください。
式内の $n
が検索項目の行頭の数字に対応しています。
(($1 and $2) or ($3 and $4)) and (not $5)
定型検索
定型検索
は検索条件上部の 定型検索
をクリックすると、その下に固定条件(あらかじめ登録された検索条件)が表示されます。
固定条件はフィルタ機能を利用して作成できます。
フィルタ機能で登録された検索条件です。 条件の内容は変更できません。
検索結果エリア
検索実行時に検索条件に一致するデータが表示されます。
データの詳細画面、編集画面を表示します。
データが5件(設定により変わる事あり)以上有る場合に使用します。
前を表示
、 次を表示
は現在表示しているデータの前後のデータを表示します。
虫眼鏡のアイコンは、クリックするとテキストボックスに入力したページを表示します。
現在表示中の全データを削除対象として選択します。
削除対象として選択中のデータを削除(ゴミ箱に移動)します。
全削除
がチェック中の場合、削除対象を選択するダイアログを表示します。
- 選択された行を削除
-
現在表示中で削除対象になっているデータを削除します。
- 検索条件を元に全て削除
-
検索を行った時の条件を利用して、一致する全データを削除します。
2.2. ゴミ箱
検索一覧などで削除されたデータが格納されています。 削除データについてはデータの内容等は参照できません。
元に戻す
もしくは ごみ箱から削除
する対象を選択します。
表頭のチェックボックスを選択すると、全データを対象にできます。
処理対象として選択したデータを元に戻します。 検索一覧で検索すると再度表示されます。
処理対象として選択したデータを完全に削除します。 ゴミ箱から削除したデータは復元できません。
検索一覧に戻ります。
2.3. CSVアップロード画面
CSVファイルをアップロードして、データの一括登録、更新ができます。
アップロード対象のファイルを選択します。
更新対象のデータを特定するためのユニークキー項目を選択します。
ユニークキーとなっているプロパティがない場合は OID
のみ選択できます。
選択したファイルをアップロードします。 アップロードが完了すると、登録や更新の件数などの処理結果が表示されます。
エラーが発生した場合、該当行がエラーで表示されます。 該当行を修正した後、再度アップロードしてください。
アップロード可能なフォーマットのサンプルファイルをダウンロードします。
検索一覧に戻ります。
アップロードするファイルに関する注意事項が記載されています。 CSVアップロードを利用する際は一度内容の確認をしてください。
2.4. 詳細画面
エンティティの単一データを表示するための画面です。
ボタンエリア
編集
をクリックすると、表示中のデータの編集画面が表示されます。
コピー
をクリックすると、表示中のデータを元にした新規登録用の編集画面が表示されます。
新しいバージョンで更新
をクリックすると、表示中のデータを残したまま、新しいバージョンとして更新するための編集画面が表示されます。
ロック
をクリックすると、データを他者が編集できないようにします。
解除するにはロックしたユーザかシステム管理者が ロック解除
をする必要があります。
戻る
をクリックすると、検索一覧が表示されます。
ナビゲーションリンク
セクションエリアの各セクションへジャンプするためのリンクが表示されます。 セクションが縮小表示されている場合にナビゲーションリンクをクリックすると、セクションは展開されます。
全て開く
と 全て閉じる
はセクションエリア内の全てのセクションに対して縮小、展開ができます。
セクションエリア
プロパティ等をまとめて表示するセクションが配置されるエリアです。 セクションは複数配置でき、用途にあわせてプロパティを内部に配置できます
セクションのタイトル部分をクリックすることで、セクションの下部を隠したり、再度表示することができます。
2.5. 編集画面
エンティティの単一データを編集するための画面です。
ボタンエリア
登録
をクリックすると、新規作成のデータを登録できます。
登録後はデータの詳細画面が表示されます。
保存
をクリックすると、編集中のデータを保存します。
保存後はデータの詳細画面が表示されます。
削除
をクリックすると、編集中のデータを削除します。
データはゴミ箱へ移動し、検索一覧が表示されます。
キャンセル
をクリックすると、検索一覧が表示されます。
入力フィールド
セクション内には各プロパティの入力フィールドが表示されます。 型や表示の設定により、入力方法が変わります。
文字列や数字など一般的な入力フィールドです。
他の形式のフィールドも含め、フィールドに複数の値を設定可能な場合、 追加
をクリックするとフィールドが追加されます。
フィールドは右端の 削除
をクリックすることで削除できます。
改行を含む文字列、文章を入力するためのフィールドです。
パスワードを入力するためのフィールドです。 入力内容はマスクされます。
日付を入力するフィールドです。 入力時にカレンダーが表示され、日付を選択すると自動的にフィールドに反映されます。
日時を入力するフィールドです。 入力時にカレンダーが表示され、日付を選択すると自動的にフィールドに反映されます。
時間についてはプルダウンから時、分、秒を選択する形式と、カレンダー上で日付と併せて選択する形式があります。
時間を入力するフィールドです。 プルダウンから時、分、秒を選択する形式と、カレンダー上で日付と併せて選択する形式があります。
選択リストの中から一つを選択する形式です。
複数の選択肢から一つを選択する形式です。
複数の選択肢から任意のものを複数選択する形式です。
ワードライクな文章入力エリアです。 上部のアイコンを利用することで、簡単に文章を加工できます。 htmlタグの使用もできます。
参照項目は既存のデータを 選択
するか、 新規
に登録することで設定します。
選択
をクリックすると選択画面が表示されます。
検索一覧のように検索を行い、対象データを選択、 確定
をクリックすると参照項目に反映されます。
新規
をクリックすると詳細画面が表示されます。
必要項目を入力し、 登録
をクリックすると参照項目に反映されます。
フィールドに複数の値を設定可能な場合、選択画面ではデータを複数選択できるようになります。
複数件選択できる場合、ヘッダ部分にチェックボックスが表示されます。
チェックすると全選択の対象を選択できるようになります。
全てのページ
を選択すると現在の検索条件でヒットする全てのデータ、 現在のページ
を選択すると現在表示中のページのデータを選択します。
チェックを解除した場合、上記とは逆に全選択の解除の対象を選択できます。
関連する子データをテーブル形式で表示します。 行の追加や削除、子データの詳細画面の表示などができます。 三角のアイコンをクリックすることで、行の順序の入れ替えができます。
3. EntityViewの管理
EntityViewはEntityの検索一覧、詳細・編集画面をカスタマイズする仕組みを提供しています。 検索一覧はSearchLayoutとFilter、詳細・編集画面はDetailLayoutの設定を利用して画面を生成しています。


また、用途に併せて複数のレイアウトをViewとして作成することができます。 Viewは名前を付与して区別しており、SearchLayoutとDetailLayoutは同一の名前のViewをセットとして運用します。
3.1. 表示方法
メニューには各エンティティに対応するメニューが表示されており、クリックすることで検索一覧が表示されます。 検索一覧からは、新規作成や検索結果の詳細、編集等をクリックすることで、詳細画面が表示されます。
エンティティを作成するとそのエンティティに対応するメニューが作成され、 DEFAULT
メニュー定義に追加されます。
DEFAULT
以外のメニュー定義で検索一覧を表示したい場合には、個別に追加する必要があります。
TopViewの設定画面を表示し、 SearchResult List
を配置します。
SearchResult List
の設定画面を開き、対象のEntityや表示項目を定義した検索一覧の画面定義を指定してください。
設定項目 | 設定内容 |
---|---|
Entity |
対象となるエンティティを指定します。 |
ResultList View |
検索結果一覧に適用するSearchLayoutのViewを選択します。 |
Link Action View |
詳細画面を表示する際に適用するSearchLayoutのViewを選択します。 |
Filter |
対象エンティティにFilterが定義されていれば、本項目で選択可能となります。 |
Title |
タイトルをカスタマイズしたい場合に指定します。 |
Icon Tag |
タイトルの前に表示するiタグなどを利用した独自のアイコンを設定できます。 |
Hight |
高さを指定します。 |
3.2. 検索一覧
検索一覧の条件、結果部分のレイアウトをカスタマイズできます。 レイアウト設定を行わない場合、検索一覧には基本項目及び、エンティティに登録されたプロパティが登録順に表示されます。
SearchLayoutの表示
レイアウト設定を行いたいエンティティを右クリックし、 Search_Layoutを開く
を選択します。
SearchLayoutの構成
SearchLayoutは以下の構成になっています。

ツールバー
紫枠の部分はSearchLayoutの各Viewに対する操作を行うためのボタン群です。 EntityViewでは1つのエンティティに対して複数のレイアウトを保持できます。
ボタン名 | 説明 |
---|---|
表示 |
View名で選択したViewを表示します。 |
保存 |
カスタマイズしたViewを保存します。 カスタマイズ後、保存ボタンをクリックしてください。 |
追加 |
Viewを新規に追加します。 |
削除 |
View名で選択したViewを削除します。 |
標準ロード |
標準のViewをロードします。 |
コピー |
View名で選択したViewをコピーします。 |
Viewを追加する場合、必ず default
のViewを先に作成してください。
default
のViewを作成せずにViewを追加した場合、検索一覧でエラーになる可能性があります。
追加セクション
青枠の部分は検索一覧の該当部分にカスタマイズを入れるための機構です。
画面右側の Section
内の部品をドラッグ&ドロップで配置できます。
定義済みのテンプレートやHTMLベースのスクリプトを組み込むことができます。
検索条件、検索結果
緑枠の部分はエンティティのプロパティを配置する領域です。
画面右側の Property
、 Element
内の部品をドラッグ&ドロップで配置できます。
SearchLayoutが作成されてない状態だと、検索一覧表示時にはエンティティのプロパティが自動で配置されます。
検索一覧の設定
図の①部分をクリックすると検索一覧全体に対する設定を行うダイアログが表示されます。
設定項目 | 設定内容 |
---|---|
画面タイトル |
画面に表示するタイトルを入力します。
未入力の場合、エンティティの |
物理削除 |
チェックした場合、検索一覧(結果部)の |
データの多言語化 |
データ操作時に多言語化する場合はチェックします。
チェックした場合、エンティティ定義の |
ダイアログ表示時に最大化 |
参照ダイアログ表示時に最大化する場合はチェックします。 |
イメージカラー |
ビューのイメージカラー(画面タイトルの左に表示されるアイコンの色)を選択します。
次から選択できます。 フラットデザインでは表示されません |
アイコンタグ |
タイトルの前に表示するiタグなどを利用した独自のアイコンを設定できます。 |
ごみ箱を非表示 |
|
ごみ箱操作をユーザ削除データに限定 |
ごみ箱内のデータ操作(取得/復元/削除)を削除したユーザのみに限定する場合はチェックを入れます。 限定する場合、管理者ユーザでも他者削除データは操作ができなくなります。 |
新規作成ボタンを非表示 |
検索一覧(条件部)の上部に表示されている新規登録ボタンを非表示にする場合はチェックします。 |
新規追加アクション |
名検索一覧(条件部)の上部に表示されている新規登録ボタンクリックで実行されるアクションを設定します。 |
表示アクション |
検索一覧(結果部)の詳細リンククリックで実行されるアクションを設定します。 |
編集アクション |
検索一覧(結果部)の編集リンククリックで実行されるアクションを設定します。 |
一括削除WebApi |
検索一覧(結果部)の削除ボタンクリックで実行されるWebAPIを設定します。 |
全削除WebApi |
検索一覧(結果部)の全選択ラジオボタンチェック時に表示されるダイアログで、 |
検索WebApi |
検索一覧(条件部)の検索ボタンクリックで実行されるWebAPIを設定します。 |
CSVダウンロードアクション |
検索一覧(条件部)のCSV Downloadボタンクリックで実行されるアクションを設定します。 |
CSVアップロード画面表示アクション |
検索一覧のCSV Uploadボタンクリックで実行されるアクションを設定します。 |
EQLカスタム処理クラス |
検索実行前にクエリをカスタマイズするためのクラスを指定します。 SearchQueryInterrupterインターフェースを実装するクラスを指定してください。 詳細はカスタム処理の組み込みを参照してください。 |
EQLカスタム処理クラスをCSVダウンロードで利用する |
EQLカスタム処理クラスをCSVダウンロードで利用するかを指定します。 |
ボタン |
検索一覧(条件部)の上部に追加するボタンを設定します。 クラス名の設定がない場合は、クラスに"gr-btn gr-size-02 mb10"が設定されます。 詳細はボタン設定を参照してください。 |
Javascriptコード |
検索一覧のScriptタグ内に出力するJavascriptコードを入力します。 |
検索条件の設定
図の②部分をクリックすると検索条件に対する設定を行うダイアログが表示されます。
設定項目 | 設定内容 |
---|---|
検索時にソートしない |
検索時に結果をソートしない場合はチェックします。 |
列数 |
セクションの列数を設定します。 |
詳細条件の表示件数 |
詳細条件に初期表示する条件の数を設定します。 |
重複行をまとめる |
チェックした場合、重複行をまとめます。 検索時にdistinctを付与します。 |
詳細検索を非表示 |
詳細検索タブを非表示にする場合はチェックします。 |
定型検索を非表示 |
定型検索タブを非表示にする場合はチェックします。 |
CSVダウンロードボタンを非表示 |
CSVダウンロードボタンを非表示にする場合はチェックします。 |
CSVダウンロードダイアログを非表示 |
CSVダウンロードボタン押下時に、出力内容を選択するダイアログを表示しない場合はチェックします。 チェックした場合、検索一覧(結果部)に表示されている項目のみがCSV出力されます。 |
CSVダウンロード時oidを出力しない |
CSV出力時にエンティティデータのoidを出力しない場合はチェックします。 |
CSVダウンロード時BinaryReferenceを出力しない |
CSV出力時にエンティティデータのBineryReference(nameのみ)を出力しない場合はチェックします。 |
CSVダウンロード時referenceを出力しない |
CSV出力時にエンティティデータのReferenceを出力しない場合はチェックします。 未チェックの場合、oidを出力しない設定がされている場合はnameのみ、されていない場合はoidとnameが出力されます。 |
CSVアップロードボタンを非表示 |
CSVアップロードボタンを非表示にする場合にチェックします。 アップロード可能なCSVファイルは、CSVダウンロード時に CSVファイルをアップロードする際に、oidが存在する行はupdate、存在しない行はinsertされます。 |
CSVアップロードトランザクションタイプ |
CSVアップロード時のコミットタイミングを設定します。
|
CSVダウンロード時文字コードを指定可能にする |
CSVダウンロード時に文字コードを指定可否を設定します。
|
CSVダウンロード件数の上限値 |
CSVダウンロード件数の上限値を設定します。 データを取得する際に制限をかけます。 設定されていない場合、65535件が上限となります。 |
CSVダウンロード項目 |
カンマ区切りで出力対象のプロパティ名を指定します。 参照項目のプロパティなどは.プロパティ名で指定します。 (参照項目自体が指定された場合は参照項目のnameを出力)
|
検索時デフォルトフィルタ条件をフィルタ定義と一緒に利用するか |
フィルタ定義を使う検索(定型検索、検索結果一覧パーツまたはウィジェット)で、フィルタ定義と一緒に検索時デフォルトフィルタ条件を使う場合にチェックします。
|
CSVファイル名Format |
ダウンロードするCSVファイル名のフォーマットを設定します。 ${csvName}_${yyyy}${MM}${dd} |
検索時デフォルトフィルタ条件 |
検索時に自動的に付与される検索条件です。 EQL形式でWhere句の条件を記述します。
|
デフォルトプロパティ条件設定スクリプト |
検索一覧(条件部)のプロパティの初期条件をGroovyScript形式で設定します。 デフォルトプロパティ条件設定スクリプトを参照してください。 |
ソート設定 |
検索時にデフォルトで設定されるソート条件を設定します。 ソート設定を参照してください。 |
フィルタ設定 |
定型検索で使用するフィルタを設定します。 未指定の場合は全てのフィルタが対象になります。 |
デフォルトプロパティ条件設定スクリプト
検索一覧(条件部)のプロパティの初期条件をGroovyScript形式で設定します。
変数としてinitCondMap(Map<String, String>)がバインドされています。
initCondMapに対して、 key(プロパティ名)
、 value(初期条件とする値)
を設定すると初期条件として値が設定されます。
initCondMap.put("autoNumber", "12345678");//AutoNumber
initCondMap.put("boolean", "false");//Boolean
initCondMap.put("string", "abcdefg");//String
initCondMap.put("string2", "aaaa");//String(select形式の場合も同様)
//SelectPropertyEditor
//(Checkbox形式の場合は配列で複数指定可能)
String[] selectArray = ["val1","val3"];//値を指定
//def selectArray = ["val1","val3"] as String[];//この形式も可能
initCondMap.put("select", selectArray);
//下の形式は不可。[]はGroovyではjava.util.List形式に変換されるのでエラー。配列のみ可。
//initCondMap.put("select", ["val1","val3"]);
//Date、Time、DateTime(from、to指定は配列で指定)
String[] dateArray = ["20150101","20150103"];
initCondMap.put("date", dateArray);
String[] timeArray = ["010203123","203040456"];//9ケタ
initCondMap.put("time", timeArray);//TimePicker形式
initCondMap.put("time2", timeArray);//Select形式
String[] dateTimeArray = ["20150101010203123","20150103203040456"];//yyyyMMdd+9ケタ
initCondMap.put("dateTime", dateTimeArray);//DateTimePicker形式
initCondMap.put("dateTime2", dateTimeArray);//DatePicker+Select形式
//Reference
String[] referenceArray = ["6275503","6275505"];//OIDを指定
initCondMap.put("ref1", "ref002");//Link,名前指定
initCondMap.put("ref2", referenceArray[0]);//Select,OID指定
initCondMap.put("ref3", referenceArray);//Checkbox,OID指定(複数時は配列)
initCondMap.put("ref4", referenceArray);//Link Dialog,OID指定(複数時は配列)
initCondMap.put("ref5", "ref003");//Link+NestProperty,名前指定
initCondMap.put("ref5.string1", "hijklmn");//Link+NestProperty
initCondMap.put("ref5.integer1", "111111");//Link+NestProperty
initCondMap.put("category3", "6278196");//RefCombo,OID指定
//UserPropertyEditor
initCondMap.put("createBy", "者");//名前Like検索
ソート設定
検索時に設定されるソート条件を設定します。
設定項目 | 設定内容 |
---|---|
ソート項目 |
検索時にデフォルトで指定するソート項目を設定します。 |
ソート種別 |
検索時にデフォルトで指定するソート種別を設定します。 |
null項目のソート順 |
null項目のソート順を設定します。
|
検索結果の設定
図の③部分をクリックすると検索結果に対する設定を行うダイアログが表示されます。
設定項目 | 設定内容 |
---|---|
検索結果の表示件数 |
検索結果の表示件数を設定します。 |
編集リンクを非表示 |
編集リンクを非表示にする場合はチェックします。 |
削除ボタンを非表示 |
削除ボタンを非表示にする場合はチェックします。 |
ページングを非表示 |
ページング部品全体を非表示にする場合はチェックします。 非表示にした場合は、検索結果の表示件数を利用せず、全データを取得します。 データ件数が多い場合、処理に時間がかかる場合があります |
件数を非表示 |
ページ件数、ページジャンプ、ページリンク非表示にする場合はチェックします。 |
ページジャンプを非表示 |
ページジャンプを非表示にする場合はチェックします。 |
ページリンクを非表示 |
ページリンクを非表示にする場合はチェックします。 |
ページング表示位置 |
ページング部品の表示位置を設定します。
|
検索一覧のレイアウト設定
プロパティの配置
Propertyから検索一覧へドラッグアンドドロップし、任意のPropertyを配置していきます。 Propertyは、検索条件と検索結果のSectionにのみ配置できます。
スクリプトセクション、テンプレートセクションについては、ボタン上部、ボタン下部、検索一覧中央、検索一覧下部に配置できます。 スクリプトセクション、テンプレートセクションについては、セクションの設定を参照してください。
(例)下図はデフォルトと同じ検索項目を維持し、オブジェクト情報の順序のみ変更しています。 Propertyのemployee(従業員)とparentEmployee(親部署)はフォルダのアイコンになっています。 どちらも参照プロパティで、ダブルクリックで展開することにより、参照プロパティが持つプロパティを検索条件と検索結果に配置することもできます。

配置した各プロパティの設定ボタンをクリックすることでカスタマイズが可能です。
検索条件プロパティの設定
検索条件に配置されたプロパティに対する設定を行います。
設定項目 | 設定内容 |
---|---|
表示 |
プロパティを画面に表示しない場合はチェックします。 |
表示ラベル |
画面に表示するラベルを設定します。 |
クラス名 |
スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。 |
ツールチップ |
ツールチップに表示する説明を設定します。 |
通常検索で非表示 |
通常検索条件の項目として表示しない場合はチェックします。 |
詳細検索で非表示 |
詳細検索条件の項目として表示しない場合はチェックします。 |
通常検索での必須項目 |
通常検索条件の必須項目にする場合はチェックします。 |
詳細検索での必須項目 |
詳細検索条件の必須項目にする場合はチェックします。 |
プロパティエディタ |
プロパティエディタを設定します。 プロパティエディタの詳細については、プロパティエディタを参照してください。 |
自動補完設定 |
項目間の自動補完を設定します。 詳細は自動補完設定を参照してください。 |
入力チェック |
入力チェック方法を設定します。 詳細は入力チェックを参照してください。 |
検索実行時に検索条件に対する入力チェックを行います。 未指定の場合は入力チェックは行われません。 なお、現時点では複数項目のいずれかが必須かチェックする機能のみが実装されています。
設定項目 | 設定内容 |
---|---|
メッセージ |
入力チェックエラー時に表示するメッセージを設定します。 |
通常検索で入力チェックを行う |
通常検索実行時に入力チェックを行う場合はチェックします。 |
詳細検索で入力チェックを行う |
詳細検索実行時に入力チェックを行う場合はチェックします。 |
対象プロパティ |
このプロパティと組み合わせて必須チェックを行うプロパティの名前を設定します。
参照プロパティのネストされた項目を指定する場合は |
検索結果プロパティの設定
検索条件に配置されたプロパティに対する設定を行います。
設定項目 | 設定内容 |
---|---|
表示 |
プロパティを画面に表示しない場合はチェックします。 |
表示ラベル |
画面に表示するラベルを設定します。 |
クラス名 |
スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。 |
列幅 |
検索一覧(結果部)に表示する際の列幅(単位はピクセル)を設定します。 単位は不要です。 |
null項目のソート順 |
null項目のソート順を設定します。
|
テキストの配置 |
検索一覧(結果部)に表示する際のテキスト(データ)の配置を設定します。
|
プロパティエディタ |
プロパティエディタを設定します。 プロパティエディタの詳細については、プロパティエディタを参照してください。 |
通条検索、詳細検索には、標準で リセット
ボタンが表示されます。

リセットを実行すると、検索条件がリセットされます。
リセットされる値は画面初期表示時と同じです。
SeachConditionSectionの デフォルトプロパティ条件設定スクリプト
で設定された条件や、EntityMenuItemのパラメータで指定された条件が設定された状態になります。
-
カスタマイズされたInput要素に対するリセット処理
TemplateSectionやTemplateElement、ScriptSectionなどを利用して独自にInput要素を追加している場合は、リセット処理に対してHandlerを追加することで対応してください。追加例<script type="text/javascript"> $(function() { //common.jsの `addNormalConditionItemCustomResetHandler` を利用してfunctionをセット。 //リセットボタン押下時に標準のEditorに対するリセット処理が全て実行された後に呼び出されます。 addNormalConditionItemCustomResetHandler(function(){ //(例)独自のテキストInputをクリア $(":text[name='xxxx']").val(""); //(例)独自のSelectInputの初期値をリセット $("select[name='xxxx']").val("val1"); }); }); </script>
-
リセットボタンの非表示
既存の処理などを考慮して、リセットボタンを表示したくない場合、service-config.xmlにて以下の値をfalseに設定してください。(service-config単位でのみ設定可能です)<!-- gem Settings --> <service> <interface>org.iplass.gem.GemConfigService</interface> ・・・・ <!-- 検索一覧でリセットボタンを表示するか デフォルトで表示するに設定されています。非表示にしたい場合はfalseを設定してください。 --> <!-- <property name="showSeachCondResetButton" value="false"/> --> </service>
自動補完設定
画面内の項目が変更された際に、連動して他の項目の値を補完する仕組みです。 連動元の値を元に、連動先に値を補完する仕組みをJavascriptで記述する方法と、WebApiでサーバへアクセスし、EQLやGroovyScriptで動的に連動先の値を取得し、表示形式にあわせて値を設定する方法があります。
開発者がJavascriptを定義し、自動補完の処理を自由に設定できます。 処理はクライアント側で完結します。
設定項目 | 設定内容 |
---|---|
連動元のプロパティ |
自動補完のトリガーとなるプロパティ、複数設定可能。 連動元のプロパティを参照してください。 |
Javascript |
上記項目をトリガーとして発生したイベントで実行するJavascript。 変数sourceValueに上記項目の値を保持しています。 変数の形式
|
WebApiでサーバ側から自動補完の値を取得します。 EQLの実行結果、もしくはGroovyScriptの実行結果をクライアントに返却し、型に合わせた形で自動的に値を設定します。
設定項目 | 設定内容 |
---|---|
自動補完タイプ |
自動補完の値を取得する方式。
|
連動元のプロパティ |
自動補完のトリガーとなるプロパティ、複数設定可能。 連動元のプロパティを参照してください。 |
EQL |
自動補完タイプでEQLを選択した際に実行する処理です。 GroovyTemplate形式で記述してください。 対象の項目がReference型の場合、エンティティの配列を返却します。 EQLにはoidとnameを必ず指定してください。 Reference型以外の場合、最初のSelect項目を補完の値として利用します。 利用可能な変数
user : UserBinding・・・ユーザ情報 params : Map・・・連動元のプロパティの値 自動補完が可能な型と返却値の型
Binary型 : String(検索条件のみ) Boolean型 : boolean, String(true/false) Date型 : Date, String(yyyyMMdd) Datetime型 : Timestamp, String(yyyyMMddhhmmssSSS) Decimal型 : Bigdecimal, String Float型 : Double, String Integer型 : Long, String LongText型 : String Reference型 : Entity(oid, nameは必須) Select型 : SelectValue, String(value値) String型 : String Time型 : Time, String(hhmmssSSS) |
GroovyScript |
自動補完タイプでGROOVYSCRIPTを選択した際に実行する処理です。 GroovyScript形式で記述してください。 `利用可能な変数` 、 `自動補完が可能な型と返却地の型` はEQLと同じです。 |
自動補完のトリガーとなる連動元のプロパティを指定します。
設定項目 | 設定内容 |
---|---|
プロパティ名 |
プロパティ名。 詳細はプロパティ名の指定方法を参照してください。 |
ネストプロパティ同士の自動補完 |
NestTable、ReferenceSection内で自動補完する場合はチェックします。 |
参照プロパティのインデックス |
NestTable、ReferenceSectionの項目をトリガーに大本のエンティティの項目を更新する際に、 NestTableの特定の行や特定のReferenceSectionのみを対象にする場合にそのインデックス指定します。 未指定の場合、全ての行やセクションの変更イベントがトリガーとなります。 |
プロパティ名は連動元と連動先の関係によって指定方法が変わります。
以下の構造を例にします。
Entity -prop1 -prop2 -propRef -refProp1 -refProp2
検索一覧では参照プロパティの項目を直接ドラッグアンドドロップで配置する方法と、ReferencePropertyEditorの表示プロパティ(NestProperty)を設定する方法があります。
連動元 | 連動先 | プロパティ名の設定値 | 配置の方法 | ネスト同士の補完 | 備考 |
---|---|---|---|---|---|
prop1 |
prop2 |
prop1 |
|||
prop1 |
refProp1 |
prop1 |
直接D&D |
||
prop1 |
refProp1 |
prop1 |
NestProperty |
||
refProp1 |
prop1 |
propRef.refProp1 |
直接D&D |
||
refProp1 |
prop1 |
propRef.refProp1 |
NestProperty |
||
refProp1 |
refProp2 |
propRef.refProp1 |
直接D&D |
||
refProp1 |
refProp2 |
refProp1 |
NestProperty |
○ |
詳細編集画面ではReferencePropertyEditorのNestTableと、参照セクション(ReferenceSection)で参照プロパティの項目を設定できます。
連動元 | 連動先 | プロパティ名の設定値 | 配置の方法 | ネスト同士の補完 | 参照プロパティのインデックス | 備考 |
---|---|---|---|---|---|---|
prop1 |
prop2 |
prop1 |
||||
prop1 |
refProp1 |
prop1 |
NestTable |
全行を補完 |
||
prop1 |
refProp1 |
prop1 |
ReferenceSection |
|||
refProp1 |
prop1 |
propRef.refProp1 |
NestTable |
|||
refProp1 |
prop1 |
propRef.refProp1 |
NestTable |
○ |
特定行を補完 |
|
refProp1 |
prop1 |
propRef.refProp1 |
ReferenceSection |
|||
refProp1 |
prop1 |
propRef.refProp1 |
ReferenceSection |
○ |
特定セクションを補完 |
|
refProp1 |
refProp2 |
propRef.refProp1 |
NestTable |
○ |
単一行を補完 |
|
refProp1 |
refProp2 |
refProp1 |
ReferenceSection |
○ |
3.3. 詳細画面(参照・更新)
詳細表示・詳細編集画面のレイアウトをカスタマイズできます。 尚、特にレイアウト設定をしない場合、アプリ画面では基本項目及び、エンティティに登録されたプロパティがエンティティの登録順で表示されます。
DetailLayoutの表示
レイアウト設定を行いたいエンティティ名を右クリックし、 Detail_Layoutを開く
を選択します。
DetailLayoutの構成
DetailLayoutは以下の構成になっています。

ツールバー
紫枠の部分はDetailLayoutの各viewに対する操作を行うためのボタン群です。 詳細はSearchLayoutを参照してください。
配置エリア
緑枠の部分は各種要素を配置する領域です。
画面右側の Property
、 Section
、 Element
内の部品をドラッグ&ドロップで配置できます。
DetailLayoutが作成されてない状態だと、詳細画面表示時にはエンティティのプロパティが自動で配置されます。
配置エリアに直接配置できるのは Section
のみとなります。
Property
と Element
については、配置エリアに置かれた 標準セクション
に対してのみとなります。
詳細画面の設定
図の①部分をクリックすると詳細画面全体に対する設定を行うダイアログが表示されます。
設定項目 | 設定内容 | 適用画面 |
---|---|---|
画面タイトル |
画面に表示するタイトルを入力します。
未入力の場合、エンティティの |
|
物理削除 |
チェックした場合、詳細編集画面の |
詳細編集画面 |
データの多言語化 |
データ操作時に多言語化するかを設定します。
有効にした場合、エンティティ定義の |
|
ダイアログ表示時に最大化 |
チェックした場合、参照ダイアログ、参照編集ダイアログ表示時に最大化します。 |
参照ダイアログ |
イメージカラー |
ビューのイメージカラー(画面タイトルの左に表示されるアイコンの色)を選択します。次から選択できます。 フラットデザインでは表示されません |
詳細表示画面 |
アイコンタグ |
タイトルの前に表示するiタグなどを利用した独自のアイコンを設定できます。 |
詳細表示画面 |
編集アクション |
編集ボタンクリック時に実行されるアクションを設定します。 |
詳細表示画面 |
編集アクション(参照) |
編集ボタンクリック時に実行されるアクションを設定します。 |
参照編集ダイアログ |
編集ボタン表示ラベル |
編集ボタンに表示されるラベルを設定します。 |
詳細表示画面 |
コピーボタン表示ラベル |
コピーボタンに表示されるラベルを設定します。 |
詳細表示画面 |
新しいバージョンとして更新ボタン表示ラベル |
新しいバージョンとして更新ボタンに表示されるラベルを設定します。 新しいバージョンとして更新ボタンは、エンティティのVersioning項目でNONE以外を選択すると有効になります。 |
詳細表示画面 |
登録アクション |
登録ボタンクリック時に実行されるアクションを設定します。 |
詳細編集画面 |
登録アクション(参照) |
登録ボタンクリック時に実行されるアクションを設定します。 |
参照編集ダイアログ |
登録ボタン表示ラベル |
登録ボタンに表示されるラベルを設定します。 |
詳細編集画面 |
保存アクション |
保存ボタンクリック時に実行されるアクションを設定します。 |
詳細編集画面 |
保存アクション(参照) |
保存ボタンクリック時に実行されるアクションを設定します。 |
参照編集ダイアログ |
保存ボタン表示ラベル |
保存ボタンに表示されるラベルを設定します。 |
詳細編集画面 |
削除アクション |
削除ボタンクリック時に実行されるアクションを設定します。 |
詳細編集画面 |
削除ボタン表示ラベル |
削除ボタンに表示されるラベルを設定します。 |
詳細編集画面 |
キャンセルアクション |
キャンセルリンククリック時に実行されるアクションを設定します。 |
CSVアップロード画面 |
編集画面でJavascriptを有効化 |
チェックした場合、 |
詳細編集画面 |
詳細画面でJavascriptを有効化 |
チェックした場合、 |
詳細表示画面 |
編集ボタンを非表示 |
チェックした場合、 |
詳細表示画面 |
ロックボタンを非表示 |
チェックした場合、 |
詳細表示画面 |
コピーボタンを非表示 |
チェックした場合、 |
詳細表示画面 |
削除ボタンを非表示 |
チェックした場合、 |
詳細編集画面 |
親子関係の参照を物理削除 |
チェックした場合、削除時に親子関係の参照します。 詳細編集画面での保存時に削除したデータも物理削除されます。 |
|
定義されている参照プロパティのみを取得 |
チェックした場合、エンティティ定義のうち参照プロパティについて、画面に表示しているプロパティのみを取得対象とします。 未チェックの場合には不要な参照を取得するためのEQLが実行される場合があります。 |
|
コピー対象 |
コピー実行時の対象データを以下から選択します。 未設定(デフォルト)の場合はShallowとして動作します。
|
詳細表示画面 |
カスタム登録処理クラス名 |
登録・更新時にカスタム処理を行いたい場合にJavaClassを指定します。
指定するJavaClassは |
|
カスタムロード処理クラス名 |
エンティティのロード時にオプション等のカスタム処理を行いたい場合にJavaClassを指定します。
指定するJavaClassは |
|
ボタン |
カスタムで表示したいボタンを追加します。 詳細はボタン設定を参照してください。 |
詳細表示画面 |
Javascriptコード |
画面に埋め込むカスタムJavascriptコードを設定します。
|
詳細表示画面 |
カスタムコピースクリプト |
|
|
初期化スクリプト |
エンティティを新規作成する際に実行されるGroovyScriptを設定します。 詳細は初期化スクリプトを参照してください。 |
詳細編集画面 |
ワークフロー設定 |
詳細表示画面からWorkflowを起動できます。 |
ボタン設定
詳細画面に追加するカスタムボタンに対する設定を行います。
設定項目 | 設定内容 |
---|---|
表示 |
チェックした場合、オリジナルボタンを表示します。 |
新規/編集時の表示可否 |
新規登録または編集時に項目を表示するかを設定します。
|
表示タイプ |
詳細編集画面、詳細表示画面のどちらに表示するかを設定できます。 表示タイプが指定されていない場合は、Detailとなります(デフォルト値)。
|
タイトル |
未使用項目です。 |
表示ラベル |
ボタンに表示するラベルを設定します。 |
クラス名 |
スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切ってください。 クラス名の設定がない場合、下記クラス名が設定されます。 クラス名を設定した場合は、設定した内容で上書きされます。
|
クリックイベント |
ボタンクリック時に実行されるJavascriptコードを設定します。 |
入力カスタムスタイル |
表示されるボタンに対して直接style属性を指定できます。 詳細は入力カスタムスタイルを参照してください。 |
表示判定用スクリプト |
表示タイプがCustomの場合に、表示可否を判定するスクリプトを設定します。 詳細は表示判定用スクリプトを参照してください。 |
表示されるボタンに対して直接style属性を指定できます。 GroovyTemplate書式で設定します。
詳細、編集画面については、対象となるエンティティデータがバインドされます。 (検索画面ではバインドされません)
その他のバインド変数についてはScript編集画面のNoteを参照してください。
<%
//エンティティのnameが"test001"の場合にボタンを赤くする
if (entity != null && entity.name == "test001") {
%>
color: #ffffff;
border:1px solid #976161;
background:#831f1f;
background:-webkit-linear-gradient(top, #d6363a 0%, #831f1f 100%);
background:-moz-linear-gradient(top, #d6363a 0%, #831f1f 100%);
<%
}
%>
表示タイプがCustomの場合に、表示可否を判定するGroovyScriptを設定します。 スクリプトの実行結果がtrueの場合、ボタンが表示されます。
以下のオブジェクトがバインドされています。
- request
-
リクエスト
- session
-
セッション
- user
-
ユーザ
- outputType
-
表示タイプ
- entity
-
表示対象のエンティティ
カスタムコピースクリプト
コピー対象
で Custom
を選択した際に実行されるGroovyScriptを設定できます。
コピー対象
で Custom
を選択した場合は、必ず設定してください。
下記がバインドされています。
- entity
-
コピー元のエンティティ
- entityDefinition
-
エンティティ定義
- entityManager
-
EntityManager
entity.setValue("item1", "テスト");
return entity;
entityをreturnする必要があるので注意してください。
初期化スクリプト
エンティティを新規作成する際に実行されるGroovyScriptを設定できます。 詳細編集画面表示前(新規作成時)に呼び出され、空のエンティティに対して初期設定等を行います。
下記がバインドされています。
- entity
-
空のエンティティ
entity.setValue("item17", "100");
ワークフロー設定
詳細画面からメタデータとして登録されたWorkflowを起動できます (Workflowについてはワークフローを参照してください)。 設定されると詳細表示画面にボタン(表示名は設定)が追加されます。

設定項目 | 設定内容 |
---|---|
ワークフロー定義名 |
メタデータとして登録したWorkflowを選択します。 |
ワークフロー変数名 |
Workflowに定義した変数名を設定します。 Workflowを開始する際、対象のエンティティをこの変数に格納します。 |
ボタン表示名 |
Workflowを起動するボタンに表示するラベルを設定します。 |
プロセス実行中にボタンを表示 |
チェックした場合、Workflowが既に実行中の状態でもボタンを表示します。 表示する場合、実行中に再度クリックすることで、別のWorkflowとして処理が開始されます(startProccessが実行されます)。 |
プロセス実行中のメッセージ |
Workflow実行中のメッセージを設定します。 |
ワークフロー開始パラメータ設定スクリプト |
ワークフロー開始時のパラメータをGroovyScriptで設定します。 |
表示判定用スクリプト |
表示タイプがCustomの場合に、表示可否を判定するスクリプトを設定します。 詳細は表示判定用スクリプトを参照してください。 |
ワークフロー起動用ボタンの表示可否を判定するスクリプトを設定します。 スクリプトが未指定か、スクリプトの実行結果がtrueの場合、ボタンが表示されます。
以下のオブジェクトがバインドされています。
- request
-
リクエスト
- session
-
セッション
- user
-
ユーザ
- entity
-
表示対象のエンティティ
詳細画面のレイアウト設定
セクションの設定
画面右側のSectionの項目を画面中央の 詳細画面部分
にドラッグ&ドロップする事でセクションを配置できます。
プロパティは標準セクションにのみ配置可能です。
共通設定項目
各セクションで共通の設定項目です。
設定項目 | 設定内容 |
---|---|
表示 |
チェックした場合、画面に表示します。 |
新規/編集時の表示可否 |
新規登録または編集時に項目を表示するかを設定します。
|
タイトル |
セクションのタイトルを設定します。 |
初期表示時に展開 |
チェックした場合、セクションを初期展開します。 |
id |
画面上で一意となるidを設定します。 |
ジャンプリンクを表示 |
チェックした場合、編集画面、詳細画面の上部に、各セクションに移動するためのリンクを表示します。 |
編集画面で非表示 |
チェックした場合、編集画面で当該セクションを非表示にします。 |
詳細画面で非表示 |
チェックした場合、詳細画面で当該セクションを非表示にします。 |
標準セクション
エンティティの各プロパティに対して、表示名を変えたり、表示・非表示制御など入れたい場合に設定します。
設定項目 | 設定内容 |
---|---|
クラス名 |
スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。 |
列数 |
セクションの列数を指定します。 |
上部のコンテンツ |
当該セクションの上部にテキスト、HTMLタグを設定します。 |
下部のコンテンツ |
当該セクションの下部にテキスト、HTMLタグを設定します。 |
スクリプトセクション
画面表示時に実行するJavascriptを組み込む場合に設定します。
設定項目 | 設定内容 |
---|---|
スクリプト |
HTMLコードを含むスクリプトを設定します。
|
テンプレートセクション
画面に別途定義したテンプレートを組み込む場合に設定します。
設定項目 | 設定内容 |
---|---|
テンプレート名 |
登録済テンプレート名を設定します。 |
バージョンセクション
バージョン管理されたエンティティに対して制御を入れたい場合に設定します。
固有の設定項目はありません。
参照セクション
参照、被参照プロパティの内容を表示する場合に設定します。
ドラッグ&ドロップ時に対象の参照プロパティを指定するダイアログが表示されます。
設定項目 | 設定内容 |
---|---|
プロパティ名 |
参照先プロパティ名を設定します。 |
初期表示時に展開 |
チェックした場合、セクションを初期展開します。 |
配置済みの参照セクションの設定ボタンをクリックした際に表示されるダイアログで設定可能な項目です。
設定項目 | 設定内容 |
---|---|
クラス名 |
スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。 |
列数 |
1行に表示するセクションの列数を指定します。 3列以上指定する場合は、レイアウトが崩れる可能性があるので注意して下さい。 |
表示順プロパティ |
データの表示順を示すプロパティを指定します。
多重度が1の場合には使用しません。
多重度が1以外の場合、指定されたプロパティの値と |
データのインデックス |
このセクションに表示する参照データのインデックスを指定します。
多重度が1の場合には使用しません。
多重度が1以外の場合、 |
上部のコンテンツ |
当該セクションの上部にテキスト、HTMLタグを設定します。 |
下部のコンテンツ |
当該セクションの下部にテキスト、HTMLタグを設定します。 |
参照先の表示プロパティ |
参照先エンティティの表示対象プロパティを設定します。 詳細は参照先の表示プロパティを参照してください。 |
参照先の表示プロパティ
参照セクション内に表示する、参照先のエンティティのプロパティに対する設定です。
設定項目 | 設定内容 |
---|---|
プロパティ名 |
プロパティ名を設定します。 参照先プロパティ名を設定します。 |
表示名 |
表示名を設定します。 |
説明 |
説明を設定します。 |
ツールチップ |
ツールチップを設定します。 表示名の右のアイコン(?マーク)をマウスオーバーすると、ツールチップが表示されます。 |
列幅 |
検索画面(結果部)に表示する際の列幅(単位はピクセル)を設定します。 単位は不要です。 詳細表示、詳細編集画面には適用されません。 |
詳細編集で非表示 |
チェックした場合、詳細編集でこの項目を非表示にします。 この項目は参照テーブル、参照セクション、大量データ用参照セクションで有効になります。 |
詳細表示で非表示 |
チェックした場合、詳細表示でこの項目を非表示にします。 この項目は参照テーブル、参照セクション、大量データ用参照セクションで有効になります。 |
必須マークを表示 |
必須マークを表示するかを設定します。
|
プロパティエディタ |
参照先プロパティの型に合わせたPropertyEditorを選択して下さい。
|
自動補完設定 |
項目間の自動補完を設定します。 詳細は自動補完設定を参照してください。 |
大量データ用参照セクション
被参照プロパティの内容を非同期で検索、表示する場合に設定します。
ドラッグ&ドロップ時に対象の参照プロパティを指定するダイアログが表示されます。
設定項目 | 設定内容 |
---|---|
プロパティ名 |
被参照プロパティ名を設定します。 |
初期表示時に展開 |
チェックした場合、セクションを初期展開します。 |
配置済みの大量データ用参照セクションの設定ボタンをクリックした際に表示されるダイアログで設定可能な項目です。
設定項目 | 設定内容 |
---|---|
クラス名 |
スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。 |
上限値 |
一度に表示する件数の上限を設定します。 デフォルト(0を指定した場合)、10件表示。 |
ダイアログ表示アクション |
詳細表示画面の詳細リンククリック時のアクションを設定します。 |
ダイアログ編集アクション |
詳細編集画面の編集リンク、追加ボタンクリック時のアクションを設定します。 |
ビュー定義名 |
詳細編集画面の編集リンク、詳細表示画面の詳細リンククリック時に表示するView定義名を設定します。 |
編集リンクを詳細リンクに変更 |
チェックした場合、詳細編集画面の編集リンクを詳細リンクに変更します。 リンクをクリックすると詳細表示画面を表示します。 |
削除ボタンを非表示 |
チェックした場合、詳細編集画面の削除ボタンを非表示にします。 |
追加ボタンを非表示 |
チェックした場合、詳細編集画面の追加ボタンを非表示にします。 |
ページングを非表示 |
チェックした場合、ページング部品全体を非表示にします。 非表示にした際は、上限値を利用せず、全データを取得します。 (データ件数が多い場合、処理に時間がかかる場合があります) |
件数を非表示 |
チェックした場合、ページ件数、ページジャンプ、ページリンクを非表示にします。 |
ページジャンプを非表示 |
チェックした場合、ページジャンプを非表示にします。 |
ページリンクを非表示 |
チェックした場合、ページリンクを非表示にします。 |
ページング表示位置 |
ページング部品の表示位置を設定します。
|
編集タイプ |
参照型の編集方法を設定します。
|
上部のコンテンツ |
当該セクションの上部にテキスト、HTMLタグを設定します。 |
下部のコンテンツ |
当該セクションの下部にテキスト、HTMLタグを設定します。 |
参照型の表示プロパティ |
参照セクションの表に表示するプロパティを設定します。 詳細は参照先の表示プロパティを参照してください。 |
ソート設定 |
検索時にデフォルトで設定されるソート条件を設定します。 詳細はソート設定を参照してください |
絞り込み条件設定スクリプト |
参照データ検索時に自動で絞り込みをする条件を指定するGroovyScriptです。 詳細は絞り込み条件設定スクリプトを参照してください。 |
参照データ検索時に自動で絞り込みをする条件を指定するGroovyScriptです。 WHERE句に指定する条件を文字列で指定してください。
スクリプトで利用可能なGroovyTemplateのバインド変数、関数は以下の通りです。
- out
-
Writer
- em
-
EntityManager
- edm
-
EntityDefinitionManager
- auth
-
AuthContext
- escHtml(Object)
-
引数をHtmlエスケープ
- escJs(Object)
-
引数をJavascriptエスケープ
- escSql(Object)
-
引数をSQLエスケープ
- escSqlLike(Object)
-
引数をLike用SQLエスケープ
- nte(Object)
-
引数がnullの場合空文字に
スクリプトで利用可能なPreparedQueryのバインド変数、関数は以下の通りです。
- user
-
実行するユーザの情報 *1参照
- date
-
現在日時のjava.util.Dateのインスタンス。
- sysdate
-
現在日付(時間含まず)の文字列。例:2011-01-20
- sysdatetime
-
現在日時の文字列。例:2011-01-18 02:05:03.348
- systime
-
現在時間の文字列。例:23:19:00
- toIn(Collection/Array)
-
引数をinの文字列表現に変換。
利用例:";oid in (${toIn(user.groupOid)})"; - toDateString(Date)
-
引数を日付の文字列表現に変換。
利用例";startDate > '${toDateString(date)}'"; - toLocalDateString(Date)
-
引数をローカル日付の文字列表現に変換。
利用例";startDate > '${toLocalDateString(date)}'"; - toDateTimeString(Date)
-
引数を日時の文字列表現に変換。
利用例";startDateTime > '${toDateTimeString(date)}'"; - toTimeString(Date)
-
引数を時間の文字列表現に変換。
利用例";startTime > '${toTimeString(date)}'"; - toLocalTimeString(Date)
-
引数をローカル時間の文字列表現に変換。
利用例";startTime > '${toLocalTimeString(date)}'"; - addYear(Date, int)
-
引数に指定の年を加えたjava.util.Dateインスタンスを取得する。
利用例";startDate > '${toDateString(addYear(date, -1))}'"; - addMonth(Date, int)
-
引数に指定の月を加えたjava.util.Dateインスタンスを取得する。
利用例";startDate > '${toDateString(addMonth(date, 3))}'"; - addWeek(Date, int)
-
引数に指定の週を加えたjava.util.Dateインスタンスを取得する。
利用例";startDate > '${toDateString(addWeek(date, -2))}'"; - addDay(Date, int)
-
引数に指定の日を加えたjava.util.Dateインスタンスを取得する。 + 利用例";startDate > '${toDateString(addDay(date, 10))}'";
- addHour(Date, int)
-
引数に指定の時間を加えたjava.util.Dateインスタンスを取得する。
利用例";startDateTime > '${toDateTimeString(addHour(date, -12))}'"; - addMinute(Date, int)
-
引数に指定の分を加えたjava.util.Dateインスタンスを取得する。
利用例";startTime > '${toTimeString(addMinute(date, 30))}'"; - addSecond(Date, int)
-
引数に指定の秒を加えたjava.util.Dateインスタンスを取得する。
利用例";startTime > '${toTimeString(addSecond(date, -10))}'"; - addMillisecond(Date, int)
-
引数に指定のミリ秒を加えたjava.util.Dateインスタンスを取得する。
利用例";startDateTime > '${toDateTimeString(addMillisecond(date, -500))}'";
userが所属するグループに関する以下の変数、関数を呼び出すことが出来ます。
- groupCode
-
所属グループのグループコードのString[]。
- groupCodeWithChildren
-
所属グループ(配下グループ含む)のグループコードのString[]。
- groupCodeWithParents
-
所属グループ(上位グループ(ルートまで)含む)のグループコードのString[]。
- groupOid
-
所属グループのoidのString[]。
- groupOidWithChildren
-
所属グループ(配下グループ含む)のグループのoidのString[]。
- groupOidWithParents
-
所属グループ(上位グループ(ルートまで)含む)のグループのoidのString[]。
- memberOf(String)
-
引数のグループコードのメンバ(サブグループに所属していても)の場合trueを返す。
<%@import java.sql.Timestamp%>
<%@import java.text.SimpleDateFormat %>
<%
def date = new SimpleDateFormat("yyyy/MM/dd").parse("2012/09/06");
def timestamp = new Timestamp(date.getTime());
%>
createDate<='${timestamp}' and createBy='${user.getAttribute("oid")}'
操作ログセクション
操作ログを表示したい場合に設定します。
設定項目 | 設定内容 |
---|---|
表示 |
チェックした場合、画面に表示します。
エンティティ定義の |
参照の名前を表示 |
表示形式:名前(oid) |
表示プロパティ |
操作ログの表内の 表示プロパティを設定した場合、操作ログからプロパティ名で絞込みを行いますが、プロパティ名が設定されるのは更新時のみのため、更新時のログしか表示されません。 |
新規作成レコードを併せて表示 |
チェックした場合、表示プロパティを設定した際に、新規作成レコードも併せて表示します。 |
参照型の操作ログ表示設定 |
参照プロパティの操作ログの表示方法を指定します。 参照エンティティの操作ログが出力される場合に有効になります。 詳細は参照プロパティ操作ログ設定を参照してください。 |
参照先のエンティティが操作ログを保存する設定の場合、操作ログセクションに参照エンティティの操作ログを表示するリンクを表示します。
参照エンティティの操作ログは、この設定でビュー定義名が指定されているプロパティであれば、そのビュー定義に設定されたAuditLogSectionの設定を使用します。 ビュー定義が未指定の場合、このAuditLogSectionが属する詳細画面定義(標準セクション)から対象の参照プロパティを探し、プロパティエディタにビュー定義があればそれを利用します。 プロパティエディタにもビュー定義が無ければ、デフォルトのビュー定義を利用します。
設定項目 | 設定内容 |
---|---|
プロパティ名 |
参照型のプロパティ名を設定します。 |
ビュー定義名 |
リンク押下で表示する画面のView定義名を設定します。 指定されたView定義のAuditLogSectionの設定を利用します。 未指定の場合はデフォルトのView定義を使用します。 |
ワークフロー履歴セクション
ワークフローの変数として割り当てられた際のワークフローの履歴を表示します。
設定項目 | 設定内容 |
---|---|
タスクを処理したユーザのみ表示 |
同時に複数人にアサインされ、その内の誰かがタスクを処理し、その他がキャンセル扱いになった場合等で、タスクを処理したユーザのみを表示します。 |
ワークフロー履歴設定 |
表示対象とするワークフローを設定します。 |
ソート設定 |
ワークフロー履歴のソート条件を設定します。 詳細はソート設定を参照してください。 |
ワークフロー履歴のソート条件を設定します。
設定項目 | 設定内容 |
---|---|
ソート項目 |
ソート対象とする項目を設定します。
指定可能な項目は |
ソート種別 |
検索時にデフォルトで指定するソート種別を設定します。 |
プロパティの設定
Property項目については、 標準セクション
にドラッグ&ドロップする事で配置できます。

設定項目 | 設定内容 |
---|---|
表示 |
チェックした場合、画面に表示します。 |
新規/編集時の表示可否 |
新規登録または編集時に項目を表示するかを設定します。
|
表示ラベル |
画面に表示するラベルを設定します。 |
クラス名 |
スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。 |
説明 |
入力欄下部表示する説明を設定します。 |
ツールチップ |
ツールチップに表示する説明を設定します。 |
編集画面で非表示 |
チェックした場合、編集画面で項目を非表示にします。 |
詳細画面で非表示 |
チェックした場合、詳細画面で項目を非表示にします。 |
必須マークを表示 |
詳細編集画面で必須マークを表示するかを設定します。
|
プロパティエディタ |
対象のプロパティ型に合わせたエディタを選択します。 詳細はプロパティエディタを参照してください。 型は基本的に変更しないで下さい。紐づいてるJSPでエラーになる可能性があります。 ただしTemplatePropertyEditorについてはカスタマイズ用なので変更しても問題ありません。 |
自動補完設定 |
項目間の自動補完を設定します。詳細は自動補完設定を参照してください。 |
エレメント
入力項目以外の画面要素を標準セクション内にドラッグ&ドロップすることで、画面に配置できます。
共通設定項目
各エレメントで共通の設定項目です。
設定項目 | 設定内容 |
---|---|
表示 |
チェックした場合、画面に表示します。 |
新規/編集時の表示可否 |
新規登録または編集時に項目を表示するかを設定します。
|
タイトル |
ヘッダに表示するタイトルを設定します。 |
編集画面で非表示 |
チェックした場合、編集画面で項目を非表示にします。 |
詳細画面で非表示 |
チェックした場合、詳細画面で項目を非表示にします。 |
ボタン
標準のボタン以外に独自で画面に表示するボタンを設定します。
設定項目 | 設定内容 |
---|---|
表示タイプ |
詳細編集画面、詳細表示画面のどちらに表示するかを設定します。 設定されていない場合は、Detailとなります。
|
表示ラベル |
ボタンに表示するラベルを設定します。 |
クラス名 |
スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。 |
クリックイベント |
クリック時に実行されるJavascriptコードを設定します。 ダブルクォートは利用できません。 |
入力カスタムスタイル |
表示されるボタンに対して直接style属性を指定できます。 詳細は入力カスタムスタイルを参照してください。 |
表示判定用スクリプト |
表示タイプがCustomの場合に、表示可否を判定するスクリプトを設定します。 詳細は表示判定用スクリプトを参照してください。 |
スクリプト
画面表示時に実行するJavascriptを組み込む場合に設定します。
設定項目 | 設定内容 |
---|---|
スクリプト |
スクリプト編集ダイアログを表示してHTMLコードを含むスクリプトを設定します。 設定例
|
テンプレート
画面に別途定義したテンプレートを組み込む場合に設定します。
設定項目 | 設定内容 |
---|---|
テンプレート名 |
登録済テンプレート名を設定します。 |
リンク
リンクを設定します。
設定項目 |
設定内容 |
表示ラベル |
リンクに表示するラベルを設定します。 |
URL |
リンクのURLを設定します。
外部サイトへのリンクの場合は |
別ウィンドウで表示 |
チェックした場合、リンククリックで別ウィンドウ表示します。 |
入力カスタムスタイル |
表示されるリンクに対して直接style属性を指定できます。 GroovyTemplate書式で設定します。バインド変数などはボタンと同様です。 |
スペース
スペースを設定します。複数列表示のセクションで空白のセルを作りたい場合等に利用します。
設定可能な項目はありません。
仮想プロパティ
プロパティと同様の表示が出来る仮想プロパティを設定します。
設定項目 |
設定内容 |
プロパティ名 |
仮想プロパティの名前を設定します。 既に設定されている仮想プロパティの名前や、エンティティに定義されているプロパティと同じ名前は設定できません。 |
表示ラベル |
画面に表示するラベルを設定します。 |
クラス名 |
スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。 |
説明 |
入力欄下部表示する説明を設定します。 |
ツールチップ |
ツールチップに表示する説明を設定します。 |
プロパティエディタ |
以下の型を選択します。表示したい内容に合わせて変更してください。 詳細はプロパティエディタを参照してください。 BooleanPropertyEditor |
3.4. プロパティエディタ
プロパティエディタは各プロパティの入力表示設定になります。 検索一覧、詳細表示・詳細編集画面に配置した各プロパティの設定を変更をすることができます。 基本的にはプロパティの型に対応する型を選択してください。
共通設定項目
各プロパティエディタで共通の設定項目です。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示カスタムスタイル |
検索結果 |
検索一覧の結果一覧の各カラム表示、詳細画面の各プロパティ値の表示に対して、直接style属性を指定することが可能です。 値によって強調させたい場合などに利用します。 詳細は表示カスタムスタイルを参照してください。 |
|
入力カスタムスタイル |
検索条件 |
検索一覧の結果条件部のinput要素、編集画面の各プロパティのinput要素に対して、直接style属性を指定することが可能です。 例えば入力用のinputの幅を調整したい場合などに利用します。 詳細は入力カスタムスタイルを参照してください。 |
GroovyTemplate書式で設定します。 対象となるエンティティデータやプロパティ値がバインドされます。 その他のバインド変数についてはScript編集画面のNoteを参照してください。
<%
//高、緊急の場合、赤色で表示(01:低、02:中、03:高、04:緊急)
if (value.value == "03" \|\| value.value == "04") { //SelectValue.valueでチェック
%>
color:red;
<%
}
%>
<%
//緊急の場合、フォントを大きくする
if (value.value == "04") {
%>
font-size:20px;
<%
}
%>
<% //期限まで5日以下の場合は赤くする
if (entity.limitDate != null) {
long limit = entity.limitDate.getTime() + ((1000 * 60 * 60 * 24) - 1); //limitDateはDate型なのでMAX時を追加
long current = today.getTime();
long diffDays = (limit - current) / (1000 * 60 * 60 * 24);
if (limit - current < 0) {
diffDays--; //逆転している場合はマイナス1日
}
if (diffDays <= 5) {
%>
color:red;
font-size:20px;
<%
}
}
%>
GroovyTemplate書式で設定します。 編集画面では、対象となるエンティティデータやプロパティ値がバインドされます。 その他のバインド変数についてはScript編集画面のNoteを参照してください。
<% //入力テキストの幅を100pxに、背景色を赤に変更
%>
background-color:#FFCCCC; width:100px;
<% //ラジオボタンを1行に1つずつ表示させる(通常はdisplay:inline)
%>
display:block;
Editorの表示タイプが選択可能な場合、タイプによって適用されるinputが異なります。
- Select
-
selectに対して指定したスタイルを適用します。
- Radio
-
radioを囲むlabelに対して指定したスタイルを適用します。
- Checkbox
-
checkboxを囲むlabelに対して指定したスタイルを適用します。
AutoNumberPropertyEditor
AutoNumber型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
完全一致で検索 |
検索条件 |
検索一覧での検索処理時に完全一致検索とする場合はチェックを入れます。 |
|
入力カスタムスタイル |
共通設定項目を参照してください。 編集画面では読取専用のため、spanタグに設定されます。 |
BinaryPropetyEditor
Binary型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を設定します。
|
||
画像の高さ(px) |
検索結果 |
表示タイプがBinaryまたは、Previewの場合に表示する画像や動画の高さを設定します。 |
|
画像の幅(px) |
検索結果 |
表示タイプがBinaryまたは、Previewの場合に表示する画像や動画の幅を設定します。 |
|
アップロードアクション |
詳細・編集画面 |
アップロード時に実行されるアクションを設定します。 |
|
ダウンロードアクション |
検索結果 |
ダウンロード時に実行されるアクションを設定します。 |
|
新しいタブで開く |
検索結果 |
チェックした場合、アップロードファイルへのリンククリック時に別タブで表示します。 |
|
PDF表示時にPDF.jsを利用 |
検索結果 |
PDF.jsを利用してPDFを表示します。 細工されたPDFによる情報詐取(JVNTA#94087669)の対策が必要な場合に利用してください。 |
swfファイルをアップロードする場合は、高さ、幅の両方の設定が必須となります。
BooleanPropertyEditor
Boolean型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を下記から選択します。
|
||
真の表示ラベル |
検索条件 |
真の選択肢に表示するラベルを設定します。 |
|
偽の表示ラベル |
検索条件 |
偽の選択肢に表示するラベルを設定します。 |
|
初期値 |
詳細・編集画面 |
新規作成時の初期値を設定します。ture/false または、1/0 を設定して下さい。 |
|
入力カスタムスタイル |
共通設定項目を参照してください。 表示タイプがCheckboxの場合、設定は適用されません。 |
DatePropertyEditor
Date型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を下記から選択します。
|
||
単一日で指定 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件を単一日を指定する形で表示します。 |
|
検索条件Fromを非表示 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、From日付を非表示にします。 |
|
検索条件Toを非表示 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、To日付を非表示にします。 |
|
初期値 |
詳細・編集画面 |
新規作成時(詳細編集画面)の初期値を設定します。 yyyyMMdd形式か、予約語を指定して下さい。(予約語は以下の通り)
|
|
現在日付設定ボタンを非表示 |
検索条件 |
チェックした場合、DatePickerの現在日付設定ボタンを非表示にします。 |
|
曜日を表示 |
チェックした場合、日付にあわせて曜日を表示します。 曜日の入力はできません。 |
||
入力カスタムスタイル |
共通設定項目を参照してください。 ロケールによる日付入力形式によりinputの長さを制御しているため、width設定は適用されません。 |
DecimalPropertyEditor
Decimal型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を下記から選択します。
|
||
数値のフォーマット |
検索結果 |
表示時のフォーマットを指定します。 java.text.DecimalFormatのパターンを設定してください。 |
|
カンマ表示 |
詳細・編集画面 |
チェックした場合、テキストフィールドからフォーカスアウトした際にカンマ区切りの表示を行います。 |
|
範囲で検索 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件で範囲検索を行います(Toの入力欄を表示します)。 |
|
最大文字数 |
詳細・編集画面 |
テキストフィールドに入力可能な最大文字数を設定します。 1以上の値を設定してください。 なお、0以下の値を設定した場合は適用されません。 |
|
初期値 |
詳細・編集画面 |
新規作成時(詳細編集画面)の初期値を設定します。 |
ExpressionPropertyEditor
Expression型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
数値のフォーマット |
検索結果 |
表示時のフォーマットを指定します。 java.text.DecimalFormatのパターンを設定してください。 プロパティエディタを指定した場合は、プロパティエディタの型に合わせて画面表示を行います。 |
|
表示カスタムスタイル |
共通設定項目を参照してください。 プロパティエディタが設定されている場合は、そのプロパティエディタの表示カスタムスタイルが適用されます。 |
||
入力カスタムスタイル |
共通設定項目を参照してください。 プロパティエディタが設定されている場合は、そのプロパティエディタの表示カスタムスタイルが適用されます。(読取専用のため表示スタイルです) プロパティエディタが未設定の場合、編集画面では読取専用のため、多重度複数の場合はulタグに、単数の場合はspanタグに設定されます。 |
||
プロパティエディタ |
検索条件 |
プロパティエディタを設定します。 ExpressionプロパティのResultTypeに設定されている内容に合わせて設定してください。 設定した場合、そのEditor設定にあわせて画面表示を行います。 未設定の場合は、値を文字列として表示します。 |
FloatPropertyEditor
Float型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を下記から選択します。
|
||
数値のフォーマット |
検索結果 |
表示時のフォーマットを指定します。 java.text.DecimalFormatのパターンを設定してください。 |
|
カンマ表示 |
詳細・編集画面 |
チェックした場合、テキストフィールドからフォーカスアウトした際にカンマ区切りの表示を行います。 |
|
範囲で検索 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件で範囲検索を行います(Toの入力欄を表示します)。 |
|
最大文字数 |
詳細・編集画面 |
テキストフィールドに入力可能な最大文字数を設定します。 1以上の値を設定してください。 なお、0以下の値を設定した場合は適用されません。 |
|
初期値 |
詳細・編集画面 |
新規作成時(詳細編集画面)の初期値を設定します。 |
IntegerPropertyEditor
Integer型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を下記から選択します。
|
||
数値のフォーマット |
検索結果 |
表示時のフォーマットを指定します。 java.text.DecimalFormatのパターンを設定してください。 |
|
カンマ表示 |
詳細・編集画面 |
チェックした場合、テキストフィールドからフォーカスアウトした際にカンマ区切りの表示を行います。 |
|
範囲で検索 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件で範囲検索を行います(Toの入力欄を表示します)。 |
|
最大文字数 |
詳細・編集画面 |
テキストフィールドに入力可能な最大文字数を設定します。 1以上の値を設定してください。 なお、0以下の値を設定した場合は適用されません。 |
|
初期値 |
詳細・編集画面 |
新規作成時(詳細編集画面)の初期値を設定します。 |
JoinPropertyEditor
複数のプロパティをまとめて表示するためのプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
フォーマット |
検索結果 |
複数のプロパティを組み合わせて表示するための表示フォーマットを設定します。
プロパティを指定する際は、 例) ${name}_${item1} |
|
表示カスタムスタイル |
共通設定項目を参照してください。 JoinPropertyEditorに対する設定は、フォーマットされた全体を囲むspanタグに対して設定されます。 |
||
入力カスタムスタイル |
共通設定項目を参照してください。 JoinPropertyEditorに対する設定は、フォーマットされた全体を囲むspanタグに対して設定されます。(読取専用) |
||
プロパティエディタ |
検索条件 |
このプロパティ(JoinPropertyとして定義したプロパティ)のプロパティエディタを設定します。 プロパティの型にあわせたプロパティエディタを選択してください。 |
|
プロパティ |
検索条件 |
このプロパティ(JoinPropertyとして定義したプロパティ)と組み合わせて表示する他のプロパティを指定します。 |
LongTextPropertyEditor
LongText型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を下記から選択します。
|
||
RichText表示時にタグを許可 |
詳細・編集画面 |
RichText |
リッチテキストエディタで許可されていない文字を利用できるようにします。 本文内にJavascriptやcssを埋め込む場合、ソースボタンを押してから直接記述してください。 |
最大文字数 |
詳細・編集画面 |
Text |
テキストフィールドに入力可能な最大文字数を設定します。 1以上の値を設定してください。 なお、0以下の値を設定した場合は適用されません。 |
初期値 |
詳細・編集画面 |
新規作成時(詳細編集画面)の初期値を設定します。 |
|
完全一致で検索 |
LongTextPropertyEditorでは、適用されません。 |
||
入力カスタムスタイル |
共通設定項目を参照してください。 RichTextタイプの場合、設定は適用されません。 |
||
選択値 |
検索条件 |
Select |
選択値を追加設定できます。 詳細は選択値設定を参照してください。 |
リッチテキストエディタオプション |
詳細・編集画面 |
RichText |
リッチテキストエディタを生成する際のオプションをJavascriptのオブジェクトリテラルで指定します。 指定可能なオプションについてはCKEDITOR configを参照してください。 |
選択値設定
設定項目 | 設定内容 |
---|---|
表示名 |
選択肢のラベルを設定します。 |
値 |
選択肢の値を設定します。 |
クラス名 |
スタイルシートのクラス名を指定します。 複数指定する場合は半角スペースで区切って下さい。 |
ReferencePropertyEditor
Reference型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を下記から選択します。 Checkboxは多重度1の場合はラジオボタン、それ以外はチェックボックスになります。 また、検索一覧では常にチェックボックスで表示されます。 RefCombo、NestTableは参照先の表示プロパティに追加したプロパティが表示されます。 Labelは編集の場合のみ、登録されているデータが表示されます。 新規の場合は何も表示されません。 |
||
選択ダイアログを利用 |
検索条件 |
Link |
チェックした場合、検索一覧での条件指定方法をテキストから、選択ダイアログ(レコード選択)にします。 |
検索条件で単一選択 |
検索条件 |
Link |
チェックした場合、検索一覧での条件指定時に、選択ダイアログでのレコード選択方法を複数選択から単一選択に変更します。 |
プロパティと同時にネスト項目を条件に表示 |
検索条件 |
チェックした場合、参照先の表示プロパティにネスト項目が設定されていれば、ネスト項目を検索条件とします。 |
|
削除ボタン非表示 |
詳細・編集画面 |
Link |
チェックした場合、削除ボタンを非表示にします。 |
新規ボタン非表示 |
詳細・編集画面 |
Link |
チェックした場合、追加ボタンを非表示にします。 |
選択ボタン非表示 |
詳細・編集画面 |
Link |
チェックした場合、選択ボタンを非表示にします。 |
参照リンクで編集を許可 |
検索結果 |
Link |
チェックした場合、参照リンク押下時のリンク先詳細画面で編集が可能となります。
参照先エンティティに更新権限がない場合は、編集リンクの代わりに詳細リンクが表示されます。 |
行追加方法 |
詳細・編集画面 |
NestTable |
詳細編集画面での行の追加ボタンの表示位置を下記から選択します。
当該項目が設定されていない場合は、Bottomとなります。 |
ダイアログ表示アクション |
検索条件 |
Link |
参照リンク押下時のダイアログ表示時のアクションを設定します。
|
ダイアログ編集アクション |
詳細・編集画面 |
NestTable |
NestTable上の編集リンク押下時に実行されるアクションを設定します。 |
選択アクション |
検索条件 |
Link |
選択ボタン押下で実行されるアクションを設定します。
|
追加アクション |
詳細・編集画面 |
Link |
追加ボタン押下で実行されるアクションを設定します。
|
ビュー定義名 |
検索条件 |
Link |
各アクション実行時に表示する画面のView定義名を設定します。 未指定の場合はdefaultのView定義を使用します。 |
ソートアイテム |
検索条件 |
Select |
選択項目をソートする項目を設定します。 |
ソート種別 |
検索条件 |
Select |
選択項目をソートする種別を設定します。 |
編集ページ |
詳細・編集画面 |
Link |
参照画面で編集を行うか、編集画面で編集を行うかを設定します。
|
参照コンボの検索方法 |
検索条件 |
RefCombo |
通常検索(検索一覧の検索タブ)の検索条件に参照コンボを利用する場合に、参照コンボの検索方法を設定します。
|
詳細画面で参照コンボの親階層を表示 |
詳細画面 |
RefCombo |
チェックした場合、参照コンボの設定により、親階層のデータを表示します。 |
特定バージョンの基準となるプロパティ |
詳細・編集画面 |
Link |
参照先のプロパティのバージョン管理に合わせて、画面内のプロパティ名を指定します。
(NUMBER_BASE:Integer型 / TIME_BASE:Datetime型)
指定したプロパティの値を利用して、選択ダイアログでの検索時にバージョンを指定して検索します。
(プロパティ定義の |
ネストテーブルの表示順プロパティ |
詳細・編集画面 |
NestTable |
ネストテーブルで表示する際の表示順を示すプロパティを設定します。 |
検索条件での全選択を許可 |
検索条件 |
Link |
参照先の選択画面で複数選択が可能な場合、全選択時の範囲を変更します。 ただし多重度以上の選択はできず、先頭から順に選択されます。
|
入力カスタムスタイル |
共通設定項目を参照してください。
|
||
参照型の表示プロパティ |
検索条件 |
NestTable |
表示プロパティを追加できます。詳細画面と検索一覧で使用方法が異なります。
参照先の表示プロパティを参照してください。 |
URLパラメータ |
検索条件 |
Link |
選択ボタン、新規ボタン押下で表示する画面に渡すパラメータを設定します。 詳細はURLパラメータを参照してください。 |
選択アクションコールバックスクリプト |
詳細・編集画面 |
Link |
選択ボタン押下で表示される選択画面上で選択完了時に実行されるコールバック用のJavascriptを設定します。 詳細は選択アクションコールバックスクリプトを参照してください。 |
新規アクションコールバックスクリプト |
詳細・編集画面 |
Link |
新規ボタン押下で表示される追加画面で追加完了時に実行されるコールバック用のJavascriptを設定します。 コールバック関数の引数として以下の変数が渡されます。
|
行追加コールバックスクリプト |
詳細・編集画面 |
NestTable |
NestTableで行追加した後に実行されるコールバック用のJavascriptを設定します。 コールバック関数の引数として以下の変数が渡されます。
|
検索条件 |
検索条件 |
Select |
選択可能項目を検索する際の条件に依存しない検索条件を設定します。 |
参照コンボ設定 |
検索条件 |
RefCombo |
選択値を階層的に指定することができます。 詳細は参照コンボの設定を参照してください。 |
参照ツリー設定 |
検索条件 |
Tree |
再帰構造のエンティティ(同一エンティティの参照をプロパティに持つエンティティ)をツリーから選択することが出来ます。 詳細は参照ツリーの設定を参照してください。 |
連動プロパティ設定 |
検索条件 |
Select |
エンティティの他のプロパティと連動して選択可能項目をフィルターすることができます。 詳細は連動プロパティの設定を参照してください。 |
選択ボタン、新規ボタン押下で表示する画面に渡すパラメータを設定します。 NestTableの場合、編集ページがViewの場合に有効になります。 以下の変数がバインドされています。
- request
-
リクエスト
- session
-
セッション
- parent
-
参照元のエンティティ(編集画面のみ)
GroovyTemplate書式で設定します。改行やスペースは無視されます。
es=t
<%
if (parent != null) {
//親の値を条件に追加
%>
&sc_parentName=<%=parent.getName()%>
<%
}
%>
新規ボタン押下時にはこの項目で定義したパラメータと一緒に以下のパラメータが渡されます
- parentOid
-
親エンティティのOID(新規登録時はnull)
- parentVersion
-
親エンティティのバージョン(新規登録時はnull)
- parentDefName
-
親エンティティのエンティティ定義名
選択ボタン押下で表示される選択画面上で選択完了時に実行されるコールバック用のJavascriptを設定します。 コールバック関数の引数として以下の変数が渡されます。
- entityList
-
選択されたEnity(oid、name、versionを持ったJavascriptオブジェクト)の配列
- deleteList
-
選択解除されたEnityの配列
- propName
-
対象の参照プロパティ名
if (entityList.length > 0) {
for (var i = 0; i < entityList.length; i++) {
alert(entityList[i].oid + "-" + entityList[i].version + "-" + entityList[i].name);
}
}
参照先の表示プロパティ
NestTable等に表示する、参照先のエンティティのプロパティに対する設定です。
設定項目 | 設定内容 |
---|---|
プロパティ名 |
参照先のプロパティ名を設定します。 |
表示名 |
表示名を設定します。 |
説明 |
説明を設定します。 |
ツールチップ |
ツールチップを設定します。 |
列幅 |
画面に表示する際の列幅(単位はピクセル)を設定します。単位は不要です。 |
テキストの配置 |
画面に表示する際のテキスト(データ)の配置を設定します。
|
編集画面で非表示 |
チェックした場合、編集画面で項目を非表示にします。 この項目は参照テーブル、参照セクション、大量データ用参照セクションで有効になります。 |
詳細画面で非表示 |
チェックした場合、詳細画面で項目を非表示にします。 この項目は参照テーブル、参照セクション、大量データ用参照セクションで有効になります。 |
必須マークを表示 |
必須マークを表示するかを設定します。
|
通常検索で必須条件にする |
チェックした場合、通常検索(検索一覧の検索タブ)で必須条件になります。 |
詳細検索で必須条件にする |
チェックした場合、詳細検索(検索一覧の詳細検索タブ)で必須条件になります。 |
プロパティエディタ |
参照先プロパティの型に合わせたPropertyEditorを選択して下さい。
選択後、 |
自動補完設定 |
項目間の自動補完を設定します。詳細は自動補完設定を参照してください。 |
参照コンボの設定
表示タイプをRefComboに設定することで、階層的な構造をもつ参照プロパティを絞り込みながら選択することが可能になります。
上位の選択値(連動元)に合わせて選択可能な項目を絞り込みます。

参照コンボの親階層を表示するか
がONになっている場合、詳細画面でも上位階層を表示します。

検索一覧と同様に、上位に合わせて絞込みが行われます。

設定項目 | 設定内容 |
---|---|
プロパティ名 |
上位のコンボとして表示する参照のプロパティ名を設定します。 |
検索条件 |
データを取得する際の検索条件を設定します。 |
ソートアイテム |
選択可能項目をソートする項目を設定します。 |
ソート種別 |
選択可能項目をソートする種別を設定します。 |
参照コンボ設定 |
複数階層化させる場合に、さらに上位のコンボに関する設定をします。 |
(例)メインとなるエンティティで3階層の構造をもったカテゴリエンティティ3を定義した場合の設定方法
-
メインエンティティ
3階層のカテゴリ構造となっている最下位層のCategory3エンティティを保持している。 -
参照している各カテゴリエンティティ
Category1 > Category2 > Category3
-
Category3エンティティを配置
-
Category3の設定
Category3エンティティから上位のCategory2エンティティ、さらに上位のCategory1エンティティの設定を行う
設定内容は検索条件と同様。
ただし 参照コンボの親階層を表示するか
がチェックされている場合は、階層で表示される。

参照ツリーの設定
表示タイプをTreeに設定することで、再帰構造をもつエンティティをツリー表示し、任意の階層から選択することが出来ます。
同一エンティティを対象にしているため、どの階層からでもデータを選択できます。

参照コンボの親階層を表示するか
がONになっている場合、選択したデータから取得可能な全ての親階層を表示します。

検索一覧と同様に、どの階層のデータでも選択できます。

設定項目 | 設定内容 |
---|---|
最上位階層の検索条件 |
ツリーに表示する最上位階層の検索条件を設定します。 |
子階層のプロパティ名 |
選択可能項目をソートする項目を設定します。 |
(例)メインとなるエンティティで再帰構造をもったCategoryエンティティを定義した場合の設定方法
-
メインエンティティ
再帰構造となっているCategoryエンティティを保持している。 -
Categoryエンティティ
親と子(被参照)を持ち、再帰構造となっている。
-
Categoryエンティティを配置
-
Categoryの設定
設定内容は検索条件と同様。
ただし 参照コンボの親階層を表示するか
がチェックされている場合は、階層で表示される。

連動プロパティの設定
連動プロパティを設定することで、エンティティの他のプロパティ選択値と連動して選択可能な項目をフィルターすることができます。
上位の選択値(連動元)に合わせて選択可能な項目を絞り込みます。

検索一覧と同様に、上位に合わせて絞込みが行われます。

設定項目 | 設定内容 |
---|---|
連動元プロパティ名(From) |
連動元になるプロパティを指定します。 参照元のエンティティのプロパティを指定します。 連動元プロパティに指定可能なものは以下のものです。
|
連動側絞込対象プロパティ名(To) |
連動元プロパティに対応する参照エンティティ側(自身)のプロパティ名を指定します。
連動元の選択値を、 連動側として指定可能なものは、多重度が1かつ、Editorの表示タイプが |
(例)メインとなるエンティティで3階層の構造をもったカテゴリエンティティを定義した場合の連動方法
-
メインエンティティ
各カテゴリエンティティとCategory1エンティティで保持する区分を保持している。全て多重度は1。 -
参照している各カテゴリエンティティ
Category1 > Category2 > Category3
-
各Categoryを配置
-
Category1の設定
Category1エンティティをセレクトアイテムの選択値に連動させる -
Category2の設定
Category2エンティティをCategory1の選択値に連動させる -
Category3の設定
Category3エンティティをCategory2の選択値に連動させる
設定内容は検索条件と同様。
以下のように上位階層を選択することで、下位階層の選択肢が表示されます。
初期表示時点では連動元の一番Topである セレクトアイテム
が未選択のため、カテゴリは全て未選択かつ選択可能項目もない状態。

セレクトアイテム
を選択することで、連動先の カテゴリ1
の選択可能項目が設定される。

カテゴリ1
を選択することで、連動先の カテゴリ2
の選択可能項目が設定される。

カテゴリ2
を選択することで、連動先の カテゴリ3
の選択可能項目が設定される。

より上位の連動元が未選択になると、 連動先は未選択状態になり、選択可能項目もクリアされる。

編集画面についても、同様の動作となります。
ただし編集画面については、ReferencePropertyEditorの表示タイプを Checkbox
にすることも可能です。
この場合多重度1限定のためRadio表示されます。
なお、検索条件については、多重度1の場合でもCheckbox表示され、In条件となるため非対象としています。
SelectPropertyEditor
Select型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を下記から選択します。
|
||
初期値 |
詳細・編集画面 |
新規作成時(詳細編集画面)の初期値を設定します。 |
|
CSV出力時に選択肢の順番でソート |
検索結果 |
多重度が複数の場合に、検索一覧のCSVダウンロードにて値の出力を選択肢の順番でソートします。
Select型で多重度複数の場合、選択アイテムの数と多重度の値を合わせる必要があります。 (CheckBox形式またはSelect形式で選択された場合に保存する際に選択アイテム数より多重度が小さいとエラーになってしまうため) |
|
選択値 |
検索条件 |
選択値を指定できます。 詳細は選択値設定を参照してください。 未指定の場合、エンティティ定義から選択値を取得します。 画面個別にカスタマイズしたい場合に設定して下さい。 |
StringPropertyEditor
String型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を下記から選択します。
|
||
RichText表示時にタグを許可 |
詳細・編集画面 |
RichText |
リッチテキストエディタで許可されていない文字を利用できるようにします。 本文内にJavascriptやcssを埋め込む場合、ソースボタンを押してから直接記述してください。 |
最大文字数 |
詳細・編集画面 |
Text |
テキストフィールドに入力可能な最大文字数を設定します。 1以上の値を設定してください。 なお、0以下の値を設定した場合は適用されません。 |
初期値 |
詳細・編集画面 |
新規作成時(詳細編集画面)の初期値を設定します。 |
|
完全一致で検索 |
検索条件 |
チェックした場合、検索一覧で条件を設定した時に完全一致で検索します。 表示タイプがSelectの場合は、当該項目に関係なく、完全一致検索を行います。 |
|
入力カスタムスタイル |
共通設定項目を参照してください。 RichTextタイプの場合、設定は適用されません。 |
||
選択値 |
検索条件 |
Select |
選択値を追加設定できます。 詳細は選択値設定を参照してください。 PropertyとしてはStringで保持するが、入力値を固定させたい場合に利用します。 |
リッチテキストエディタオプション |
詳細・編集画面 |
RichText |
リッチテキストエディタを生成する際のオプションをJavascriptのオブジェクトリテラルで指定します。 指定可能なオプションについてはCKEDITOR configを参照してください。 |
TimePropertyEditor
Time型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を下記から選択します。
|
||
単一日で指定 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件を単一日を指定する形で表示します。 |
|
検索条件Fromを非表示 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、From日付を非表示にします。 |
|
検索条件Toを非表示 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、To日付を非表示にします。 |
|
時間の表示範囲 |
検索条件 |
時間の各リストをどこまで表示するか下記から選択します。
|
|
分の間隔 |
検索条件 |
分のリストの表示間隔を下記から選択します。
|
|
初期値 |
詳細・編集画面 |
新規作成時(詳細編集画面)の初期値を設定します。 yyyyMMdd形式か、予約語を指定して下さい。(予約語は以下の通り)
|
|
TimePickerを利用 |
検索条件 |
チェックした場合、入力フィールドでTimePickerを利用できます。 |
TimestampPropertyEditor
Timestamp型用のプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
表示タイプ |
画面に表示する方法を下記から選択します。
|
||
単一日で指定 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件を単一日を指定する形で表示します。 |
|
検索条件Fromを非表示 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、From日付を非表示にします。 |
|
検索条件Toを非表示 |
検索条件 |
チェックした場合、通常検索(検索一覧の検索タブ)の検索条件のうち、To日付を非表示にします。 |
|
時間の表示範囲 |
検索条件 |
時間の各リストをどこまで表示するか下記から選択します。
|
|
分の間隔 |
検索条件 |
分のリストの表示間隔を下記から選択します。
|
|
初期値 |
詳細・編集画面 |
新規作成時(詳細編集画面)の初期値を設定します。 yyyyMMdd形式か、予約語を指定して下さい。(予約語は以下の通り)
|
|
現在日付設定ボタンを非表示 |
検索条件 |
チェックした場合、DatetimePickerの現在日付設定ボタンを非表示にします。 DatetimePickerを利用するのチェックが無い場合に有効になります。 |
|
時間のデフォルト値を設定しない |
検索条件 |
チェックした場合、日付入力時に時間のプルダウンにデフォルト値を設定しないようにします。 |
|
DatetimePickerを利用 |
検索条件 |
チェックした場合、入力フィールドでDatetimePickerを利用できます。 |
|
曜日を表示 |
チェックした場合、日付にあわせて曜日を表示します。 曜日の入力はできません。 |
||
入力カスタムスタイル |
共通設定項目を参照してください。 ロケールによる日付入力形式によりinputの長さを制御しているため、width設定は適用されません。 |
DateRangePropertyEditor
日付、日時型のプロパティを二つ組合せ、範囲を入力・表示するプロパティエディタです。 入力時に大小関係のチェックを行います。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
Toプロパティ名 |
このプロパティと組み合わせて表示する他のプロパティを指定します。 指定するプロパティはこのプロパティの型と合わせてください。 |
||
エラーメッセージ |
FromとToの大小関係が不正な場合に表示するエラーメッセージを設定します。 |
||
プロパティエディタ |
このプロパティ(From)のプロパティエディタを設定します。 プロパティの型にあわせたプロパティエディタを選択してください。 |
||
Toプロパティエディタ |
Toプロパティのプロパティエディタを設定します。 プロパティの型にあわせたプロパティエディタを選択してください。 未指定の場合、Fromのプロパティエディタの設定が有効になります。 |
TemplatePropertyEditor
独自のテンプレートを入力部品として利用するためのプロパティエディタです。
設定項目 | 利用箇所 | 表示タイプ | 設定内容 |
---|---|---|---|
テンプレート名 |
表示時に読み込むテンプレートの名前を設定します。 |
UserPropertyEditor
createByやupdateBy等、UserエンティティのOID(String)を持つプロパティに対して、OIDに一致するユーザ名を表示させるためのプロパティエディタです。
3.5. Viewの管理設定
Viewの管理設定は、検索一覧、詳細画面両方に関わる設定を行う画面です。
Viewの管理設定の表示
Viewの管理設定を行いたいエンティティを右クリックし、 Viewの管理設定を開く
を選択します。
Viewの管理設定の構成
Viewの管理設定は以下の構成になっています。
エンティティの検索一覧、詳細画面はレイアウトが未設定の場合、自動で生成し画面を表示します。 しかし、ロール毎に構成を変えたりする場合、複数のレイアウトを設定する必要があります。 そうした場合は自動生成が行えず、例えば標準的なレイアウトをそのまま使用するロールがあった場合、エンティティ定義のプロパティ設定に変更が加わると、合わせてレイアウトの修正が必要になります。
上記のような場合、この自動生成の管理機能を利用することで、特定のViewに対してのみ自動生成を行うように設定でき、標準的なレイアウトであれば個別に設定する手間を省くことができます。
Viewに対して AutoGenerate
をチェックすることで、標準的なレイアウトを自動生成するようになります。
Defined
にチェックがついてるViewは既にレイアウトの定義が保存されていますが、 AutoGenerate
をチェックした場合は定義を利用せず、自動生成を行います。
Viewに対して許可ロールを指定すると、許可されたロール以外は画面表示時にエラーが発生します。 これを利用することで、特定のロールに見せたくない項目があるViewを意図せずに見られてしまう、というようなことを防止できます。
一覧にView(の名前)を追加します。 一覧に追加することで、存在しないViewに対しても自動生成の設定が行えるようになります。
選択中のViewを一覧から削除します。
削除が可能なのは Add
で追加した、レイアウトが未定義のViewのみです。
4. フィルタの管理
フィルタを設定する事でエンティティの検索補助を実現できます。
検索画面(条件部)のタブに 定型検索
タブが追加されます。

4.1. フィルタの表示
フィルタ設定を行いたいエンティティを右クリックし、 Filterを開く
を選択します。
4.2. フィルタの構成
フィルタは以下の構成になっています。

- フィルタアイテム一覧
-
青い枠の部分は検索画面に表示されるアイテムの一覧になります。
- フィルタアイテム設定
-
緑の枠の部分は各フィルタアイテムの設定になります。
- 実行結果
-
紫の部分はフィルタアイテム設定を元にEQLを実行した結果を表示します。 設定した内容が正しく動くか等の確認に利用できます。
4.3. フィルタアイテム設定
アイテムの追加
図の赤枠部分をクリックするとフィルタアイテム設定画面が表示されます。
項目 | 設定値 |
---|---|
名前 |
フィルタアイテムの名前 |
表示名 |
フィルタアイテムの表示名、検索画面の定型検索に表示される |
入力後、追加ボタンを押すことでフィルタアイテム一覧に追加されます。
アイテムの編集
フィルタアイテムの鉛筆マークをクリックすると、右側のエリアに設定内容が表示されます。

検索時に適用する条件を設定します。
項目 | 設定値 |
---|---|
WHERE |
フィルタ条件、WHERE句以降を設定 |
ORDER BY |
ソート条件 |
条件で設定された内容でEQLを実行します。 実行結果は画面下部の実行結果に表示されます。
フィルタアイテムの設定の変更内容を保存します。 保存せずに他のフィルタアイテムを編集すると、変更内容は失われますので注意してください。
全設定内容を保存します。 保存はフィルタアイテムの変更を確定させているだけなので、フィルタアイテムを保存した後は忘れずにSaveしてください。
5. カスタム処理の組み込み
5.1. カスタム検索処理
検索一覧や選択画面で、検索処理の実行前後に独自の処理を組み込むことができます。
以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを検索一覧のEQLカスタム処理クラスに指定します。
org.iplass.mtp.view.generic.SearchQueryInterrupter
メソッド | 引数 | 戻り値 | 処理内容 |
---|---|---|---|
beforeSearch |
RequestContext |
SearchQueryContext |
検索前処理を行います。 |
SearchFormView |
|||
Query |
|||
SearchQueryType |
|||
afterSearch |
RequestContext |
List<ValidateError> |
検索後処理を行います。 afterSearchではEntity1レコード毎に処理が呼ばれます。 |
SearchFormView |
|||
Query |
|||
Entity |
|||
SearchQueryType |
beforeSearch内ではクエリをカスタマイズし、Selectの対象を追加やWhere句に条件を追加といったことができ、検索結果に反映することができます。
また、 org.iplass.mtp.entity.query.ASTTransformer
インターフェースを利用することで、クエリに設定されている式自体をカスタマイズすることも可能になります。
ASTTransformerはデザインパターンのVisitorパターンを利用してクエリを解析します。
以下は検索条件を取り出し、特定の項目に対する条件が指定されていた場合に値を書き換えるサンプルになります。 下記サンプルでは、ASTTransformerの実装クラスのASTTransformerSupportを継承した独自の無名クラスを作成し、特定のEQLの条件クラスが来た場合にクエリをカスタマイズしています。
Condition condition = query.getWhere().getCondition();
if (condition != null) {
condition.accept(new ASTTransformerSupport() {
@Override
public ASTNode visit(Equals equals) {
encriptName(equals);
return super.visit(equals);
}
@Override
public ASTNode visit(NotEquals notEquals) {
encriptName(notEquals);
return super.visit(notEquals);
}
@Override
public ASTNode visit(Greater greater) {
encriptName(greater);
return super.visit(greater);
}
@Override
public ASTNode visit(GreaterEqual greaterEqual) {
encriptName(greaterEqual);
return super.visit(greaterEqual);
}
@Override
public ASTNode visit(Lesser lesser) {
encriptName(lesser);
return super.visit(lesser);
}
@Override
public ASTNode visit(LesserEqual lesserEqual) {
encriptName(lesserEqual);
return super.visit(lesserEqual);
}
});
}
private void encriptName(ComparisonPredicate predicate) {
if (predicate.getPropertyName().equals("name")
&& predicate.getValue() != null
&& predicate.getValue() instanceof Literal) {
Literal literal = (Literal) predicate.getValue();
if (literal.getValue() instanceof String) {
String value = (String) literal.getValue();
predicate.setValue(new Literal(CipherUtil.encrypt(value)));
}
}
}
5.2. カスタム登録処理
編集画面での登録・更新時に独自の処理を組み込むことができます。
以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを詳細画面のカスタム登録処理クラスに指定します。
org.iplass.mtp.view.generic.RegistrationInterrupter
メソッド | 引数 | 戻り値 | 処理内容 |
---|---|---|---|
dataMapping |
Entity |
なし |
新規登録用のデータにリクエストのデータをマッピングします。 |
RequestContext |
|||
EntityDefinition |
|||
DetailFormView |
|||
isSpecifyAllProperties |
- |
boolean |
更新対象の範囲を制御します。
|
getAdditionalProperties |
- |
String[] |
更新対象のプロパティを取得します。 |
beforeRegist |
Entity |
List<ValidateError> |
当該メソッド内に設定した処理内容が、Entityの登録・更新前に実施されます。 |
RequestContext |
|||
EntityDefinition |
|||
DetailFormView |
|||
RegistrationType |
|||
afterRegist |
Entity |
List<ValidateError> |
当該メソッド内に設定した処理内容が、Entityの登録・更新後に実施されます。 |
RequestContext |
|||
EntityDefinition |
|||
DetailFormView |
|||
RegistrationType |
カスタム登録処理の各メソッドは以下のように呼ばれます。
-
カスタム登録処理のdataMappingが実行され、新規登録用のEntityが作成されます。
-
参照型のデータを登録します。
-
カスタム登録処理のbeforeRegistが実行されます。
-
Entity(本データ)を登録します。
-
被参照の参照型のデータを登録します。
-
カスタム登録処理のafterRegistが実行されます。
いずれかでエラーが発生した場合、ロールバックされます。
-
カスタム登録処理のdataMappingが実行され、更新用のEntityが作成されます。
-
参照型のデータを登録します。
-
カスタム登録処理のbeforeRegistが実行されます。
-
Entity(本データ)を更新します。
- isSpecifyAllPropertiesがtrue
-
カスタム登録処理のgetAdditionalPropertiesで設定した戻り値のみを更新対象にする
- isSpecifyAllPropertiesがfalse
-
汎用登録処理が自動で設定した更新対象に、カスタム登録処理のgetAdditionalPropertiesの戻り値を追加する
-
被参照の参照型のデータを登録します。
-
カスタム登録処理のafterRegistが実行されます。
いずれかでエラーが発生した場合、ロールバックされます。
5.3. カスタムロード処理
詳細表示、編集画面でEntityのロード時に独自の処理を組み込むことができます。
以下のインターフェースを実装したJavaクラスまたはUtilityClassを作成してください。 作成したクラスを詳細画面のカスタムロード処理クラスに指定します。
org.iplass.mtp.view.generic.LoadEntityInterrupter
メソッド | 引数 | 戻り値 | 処理内容 |
---|---|---|---|
beforeLoadEntity |
RequestContext |
LoadEntityContext |
ロード前処理を行います。 Entityの表示時(詳細画面、編集画面)、登録/更新後のデータ取得、登録/更新時の比較用元データ取得時に呼ばれます。 |
DetailFormView |
|||
String |
|||
LoadOption |
|||
LoadType |
|||
afterLoadEntity |
RequestContext |
なし |
ロード後処理を行います。 |
DetailFormView |
|||
Entity |
|||
LoadOption |
|||
LoadType |
|||
beforeLoadReference |
RequestContext |
LoadEntityContext |
参照プロパティに対するロード前処理を行います。 画面表示時(ネストテーブル、参照セクション)、多重度が1ではない被参照データの更新時(ネストテーブルのみ)に呼ばれます。 |
DetailFormView |
|||
String |
|||
LoadOption |
|||
ReferenceProperty |
|||
LoadType |
|||
afterLoadReference |
RequestContext |
なし |
参照プロパティに対するロード後処理を行います。 |
DetailFormView |
|||
Entity |
|||
LoadOption |
|||
ReferenceProperty |
|||
LoadType |