サポート > リポジトリ > 業務ロジック

Wagbyでは複雑な業務ロジックを「スクリプト」で記述できます。このスクリプトはJavaScript文法となっています。

Java実行環境では「サーバサイドJavaScript」を提供しています。これはスクリプト言語のため、ビルド処理が不要です。スクリプトファイルを編集後、画面リロードすることですぐに動作を確認することができます。

図1 スクリプトの入力

スクリプト欄をクリックすると、エディタが起動します。

図2 スクリプトエディタ
テキストエディタはオープンソースの Ace を同梱しています。

2つのJavaScript

一般に "JavaScript" といえば、Webブラウザ上で実行されるクライアントサイドJavaScriptとして知られています。これはHTML要素の操作のために使われるもので、主に「画面描画」に関する処理を記述します。

本章で説明するスクリプト(サーバサイドJavaScript)は、Javaオブジェクトを操作するために用います。同じJavaScript言語を使いますが、両者は目的が異なります。ここで説明するスクリプトは業務ロジックを記述するものです。画面表示をカスタマイズすることはできません。

図3 サーバサイドJavaScriptとクライアントサイドJavaScript
本マニュアルでは、サーバサイドJavaScriptのことを「スクリプト」と表記します。

サーバサイドJavaScript技術の補足

サーバサイドJavaScript技術は、Java 8 に標準で組み込まれています。Java 8 には Nashorn というエンジンが同梱されています。(Java 6/7 では一つ前の世代の Rhino というエンジンが同梱されています。)

この技術は「文法は JavaScript」ですが、「JavaScript で記述されたプログラムから、Java オブジェクトを操作できる」という特徴があります。またビルド不要で、すぐに動作させることができます。 すなわちWagbyが提供するスクリプトは独自言語ではなく、Java が提供する標準技術を使っています。

(1) 準備と動作の確認
Wagbyからスクリプトを利用する方法を説明します。
(2) 記述できるスクリプト
処理のタイミングで呼び出されるスクリプトをDesigner上で記述できます。
(3) モデルの基本 (1)
Wagbyのモデルはどのような構成になっているかを説明します。その中でも基本となるストアモデルの操作方法を説明します。
(4) モデルの基本 (2)
プレゼンテーションモデル、コンディションモデル、リストモデルを説明します。
(5) 生成されるスクリプトファイルの詳細
Designerで入力したスクリプトはファイルとして生成されます。
(6) Wagby関数を利用する
Wagbyが提供する関数をコードでも利用することができます。
(7) 主キー
スクリプトを利用して、任意の書式を設定する方法を説明します。
(8) 初期値
スクリプトを使った初期値の定義方法を説明します。
(9) 入力チェック・整合性チェック
複雑な入力チェックや整合性チェックをスクリプトで実現する方法を説明します。
(10) 入力フィルタ
Webフォームから入力された値を変換する「フィルタ」処理をスクリプトで記述できます。
(11) 一括更新
一覧表示画面で用意した「一括更新」処理の本体をスクリプトで記述します。
(12) 一覧帳票出力後の更新
帳票出力を実行後、呼び出されるスクリプトを紹介します。
(13) 画面遷移
スクリプトを使ってWagbyの標準画面遷移を変更する方法を説明します。
(14) モデルをまたがる計算(トランザクション)
モデルをまたがる計算は「トラザクション」となります。ここではトランザクションスクリプトの作成方法を説明します。
(15) Service/Daoクラス、ヘルパ、SQLを利用する
スクリプトから(Wagbyが自動生成した)Service/Daoクラスを利用できます。またSQLを利用することもできます。
(16) メールを送信する
スクリプトからメール送信を行う方法を説明します。
(17) サンプルコード
業務で使えるサンプルコードを紹介します。
(18) Java 6/7 利用時の注意点
Java 6/7 ではスクリプトのルールが異なるところがあります。
Wagby Developer Day 2017