オープンソースの紹介  JRServlet  JPivot日本語版  WDR デモサーバのご案内

アクション定義

画面の説明

アクション名
アクション名として適当な名前を設定します。指定なしはディフォルト表示になります。
通常はフィールド定義の送信ボタンで拡張1(ラベル)と同じ名前で対応をとります。
処理種別
アクションの処理種別です。
表示処理:表示のときの処理
リクエスト処理:送信ボタンを押したときになります。
成功時遷移先
処理が成功したときのポートレット名を設定します。
失敗時遷移先
処理が失敗したときのポートレット名を設定します。
処理
処理種別が表示処理のとき
表示する前の処理を記述します。
処理種別がリクエスト処理のとき
入力チェックが終わった後の処理を記述します。
メッセージ
正常に終了したときのメッセージを設定します。

スクリプト

 フォーマット

一つの命令は改行までとします。ただし改行前の~(チルダ)は次の行の続きとなります。

コマンドの種類

条件文

説明

式の値に基づいて、条件付きの実行を行うフロー制御です。

構文

IF 条件式
   式が真の処理
[ELSE]
  [式が偽の処理]
/IF

条件式: 値 条件識別 値

条件識別
条件識別には下記の2つがあります

文字列のテスト

string1 = string2 二つの文字列が等しければ真。
string1 != string2 二つの文字列が等しくなければ真。

数値のテスト

arg1 OP arg2

OP は EQ, NE, LT, LE, GT, GE のいずれか。これらの代数二項演算子は、それぞれ arg1 が arg2 (に等しい、に等しくない、より小さい、より小さいか等しい、より大きい、より大きいか等しい) 条件を満たせば真。 arg1 および arg2 は正の整数、負の整数をとることができます。

サンプルコーディング

IF <%RQ_ID%> EQ 3
  FORWARD TRUE 正しい処理
ELSE
  FORWARD TRUE 間違った処理
/IF

 繰り返し

説明

指定したデータ決定式にデータがある間、一連の処理を繰り返し実行するフロー制御です。
データ決定式のデータは/LOOPまで有効です。

構文

LOOP データ決定
  一連の処理
/LOOP

データ決定はデータ決定を参照

サンプルコーディング

LOOP SELECT * FROM SALE
  EXEC UPDATE SALE_DETAIL SET NAME=<%DT_SALE_NAME%>
/LOOP

ロック

説明

同一のキーワード内でシングル処理を行う制御文です。
サーブレットはマルチで処理が行われます。同時に同じテーブルにアクセスが来た時、
DBに不整合が生じる可能性があります。この問題を回避するために使用します。

構文

LOCK キーワード
  一連の処理
/LOCK

キーワードは自動的に大文字に変換され処理されます。

サンプルコーディング

LOCK SALE
EXEC UPDATE SALE_DETAIL SET NAME=<%DT_SALE_NAME%>
/LOCK

セッションに値格納

説明

データをセッション領域のデータとして登録します。

構文

SESSION キーワード 格納する値

キーワードは自動的に大文字に変換され処理されます。

SESSION キーワード

キーワードの値をセッションから削除

SESSION CLEAN

セッションからすべて値を削除

 

サンプルコーディング

SESSION VALUE 3

 データの決定

説明

値として使用できるデータの決定をします。この文を発行することにより、画面でデータのアクセスができます。

構文

DATA SELECT文|JAVA クラス名

サンプルコーディング

DATA SELECT * FROM SALE

 実行文

説明

SQL、JAVAなどの処理を行います。

構文

EXEC SQL文(UPDATE、DELETE文)|JAVA クラス名

サンプルコーディング

EXEC DELETE FROM SALE WHERE ID=34

メッセージ遷移

説明

強制的にスクリプト内からURLの遷移を行います。この命令以降は処理が行われません。

構文

FORWARD URL遷移名 メッセージ

URL遷移名:遷移先
メッセージ:画面に出すメッセージ

サンプルコーディング

FORWARD TOP 強制的にトップに戻りました

各データの値を参照するときに使用します。

構文

<%変数名%>

補足

変数名

変数名は下記の型をとります。
   シンボル+キーワード

シンボルは下記の3種類があります RQ_ リクエストからデータを取ります
DT_ DATAで実行されたデータを取ります
SS_  セッションのデータを取ります
PD_  ポートレットのデータを取ります

特殊にアクセス

特殊のシンボルは特殊にアクセスできます。

特殊シンボル 説明
RQ_%USER_NAME ログインした名前を取得できます
RQ_%SERVER_NAME  サーバー名を取得できます
RQ_%CONTEXTE_PATH コンテキストパスを取得できます
RQ_%PAGE_NAME ページ名を取得できます
RQ_%SERVLET_PATH サーブレットパスを取得できます