CookBook

スクリプト開発モデルで作成した1つのページソースを複数の画面で利用する

投稿日:2017-04-05 更新日:

このCookBookでは、任意のスクリプト開発モデルプログラムをコールして部分ページソース挿入を行う方法を紹介します。
部分ページソース挿入は<imart type="include">タグを利用することで実装することが出来ます。
これを用いることで、スクリプト開発モデルで作成した1つのページソースを複数の画面で利用することが出来ます。

完成イメージ

  1. Create Form をクリックしてください。
  2. 新規作成画面が表示されます。
  3. 画面左上の「←」ボタンをクリックしてください。
  4. Edit Form をクリックしてください。
  5. 編集画面が表示されます。
    新規作成画面と編集画面のフォームには、同一のソースが挿入されています。

 

完成サンプル

以下の完成サンプルをダウンロードしてご活用ください。

e builder プロジェクト : im_cookbook_113577_include.zip
imm ファイル : im_cookbook_113577_include-1.0.0.imm

ローカル環境で表示させる場合は、以下のURLにアクセスしてください。
http://localhost:8080/imart/im_cookbook/113577/include/menu
なおベースURLである以下の部分は、環境に合わせて適宜変更してください。
http://localhost:8080/imart

レシピ

  1. 挿入するページソースを作成してください。
  2. 新規作成画面を作成してください。
  3. 編集画面を作成してください。

1. 挿入するページソースを作成してください。

1. 挿入するページのプレゼンテーションページを作成してください。

e Builder のモジュールプロジェクト内に以下のhtmlファイルを作成してください。
src/main/jssp/src/im_cookbook_113577_include/table.html

これは新規作成画面と編集画面の<form>タグの中で利用するページソースです。
<table>タグ内のテキストボックスに表示する文字列といった属性値はファンクションコンテナから受け取ります。

2. 挿入するページのファンクションコンテナを作成してください。

e Builder のモジュールプロジェクト内に以下のjsファイルを作成してください。
src/main/jssp/src/im_cookbook_113577_include/table.js

このファンクションコンテナで、プレゼンテーションページに渡す値を設定してください。
今回は挿入先から渡ってきた値をそのまま設定しています。
引数 argV には、挿入先の<imart type="include">タグで指定した属性名がプロパティ名、属性値がプロパティ値であるオブジェクトが渡ってきます。

2. 新規作成画面を作成してください。

e Builder のモジュールプロジェクト内に以下のhtmlファイルを作成してください。
src/main/jssp/src/im_cookbook_113577_include/create.html

これは新規作成画面のプレゼンテーションページです。
<form>要素の中で<imart type="include">タグを利用し、「1. 挿入するページソースを作成してください。」にて作成したページソースを挿入しています。
<imart type="include">タグのpage属性には、表示させたいプログラムのパスを WEB-INF/jssp/src からの相対パス形式で指定してください。拡張子は必要ありません。

<imart type="include">タグの詳細は以下のドキュメントを参照してください。
スクリプト開発向けタグライブラリ / include

このCookBookではsubmit後の処理は作成していません。
DBへの登録処理については以下のCookBookを参照してください。
CookBook:フォームに入力した内容をデータベースに登録する

3. 編集画面を作成してください。

1. 編集画面のプレゼンテーションページを作成してください。

e Builder のモジュールプロジェクト内に以下のhtmlファイルを作成してください。
src/main/jssp/src/im_cookbook_113577_include/edit.html

この編集画面でも「2. 新規作成画面を作成してください。」で作成した画面と同様に、<form>要素の中で<imart type="include">タグを利用して「1. 挿入するページソースを作成してください。」にて作成したページソースを挿入しています。
編集画面では<imart type="include">タグの属性を利用して、呼び出すプログラムに引数を渡しています。
「1. 挿入するページソースを作成してください。」にて前述した通り、ここで指定した属性名称が呼び出すプログラムの引数に渡されるオブジェクトのプロパティ名となり、属性値がそのプロパティの値として格納されます。

2. 編集画面のファンクションコンテナを作成してください。

e Builder のモジュールプロジェクト内に以下のjsファイルを作成してください。
src/main/jssp/src/im_cookbook_113577_include/edit.js

必要な情報をプレゼンテーションページに渡すよう実装を行います。
IDのテキストボックスが無効になるように、変数 $disable_flg には true を格納しています。
また、Admin Authority のチェックボックスが選択された状態になるように、変数 $admin に 'checked' を格納しています。

ルーティング設定ファイルやメニュー画面については完成サンプルをダウンロードしてご参照ください。

-CookBook

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

IM-BloomMaker グラフエレメントの使い方(円グラフ編)

この CookBook では、intra-mart Accel Platform 2019 Winter から利用可能になった IM-BloomMaker の円グラフの活用方法について紹介しています。 …

no image

後処理プログラムで画面アイテム「ファイルアップロード」にバリデーションを実行する方法

このCookbookでは、画面アイテム「ファイルアップロード」に添付されたファイルをバリデーションする方法を紹介します。 後処理プログラムを使用してバリデーションを実行することで、画面に表示するエラー …

no image

PostgreSQL の Docker を作成する。

この CookBook では、PostgreSQL 検証用の Docker の作成手順について紹介しています。 レシピ ベースイメージの作成 PostgreSQL の Docker イメージを作成しま …

スプレッドシートのバインディングデータを別途テーブルに出力する方法

スプレッドシートのJsonデータとバインディングデータは、Formaヘッダーテーブルにバイナリカラムで格納されます。 Formaヘッダーテーブルに格納されたスプレッドシートデータは、登録データ情報管理 …

申請者の役職から処理対象者を設定する

このCookbookでは、IM-Workflow 2018 Springから新たに追加された 処理対象者プラグイン「ロジックフロー(ユーザ)」 の設定方法を紹介いたします。 この機能を利用すると、申請 …

RSSRSSRSSRSS