サポート > Wagby Developer Network(R7) > Javaを用いたカスタマイズ > Eclipseによるカスタマイズコードの作成
ja | en

簡単なサンプルをとおして、Javaカスタマイズコードの作成方法を説明します。

カスタマイズコードはcustomizeフォルダ内に配置します。次のルールがあります。

javaコード
customize/javaに格納します。
設定ファイル
propertiesなどのファイルはcustomize/resourcesに格納します。
Webで公開されるファイル
HTML,JSP,画像ファイルなどWebで公開されるファイルはcustomize/webappに格納します。
図1 customizeフォルダ

ここでは "customer" モデルを対象に、新規登録時に初期値として値を埋め込む Java カスタマイズコードを作成してみます。

この例は標準機能でも実現できますが、Javaカスタマイズコードの例として説明します。

プロジェクトエクスプローラで customize/java フォルダでマウスの右クリックボタンを押下し、「新規>その他...」を選択します。

図2 新しいファイルを作成する

新規ウィザードで Java クラスを指定します。

図3 Java クラスを作成する

パッケージ名、クラス名、スーパークラスを指定します。

この例では customer モデルを対象としています。パッケージ名は標準の "jp.jasminesoft.wagby" をベースにしています。

この例に示すように、カスタマイズクラスは、自動生成されたクラス(ここではCustomerHelper)を継承して、接頭語に "My" をつけたクラス名とします。

図4 カスタマイズクラスの命名

カスタマイズクラスの雛形が生成されます。(図5)

図5 カスタマイズクラスの雛形が用意される

続いて、自動生成されるメソッドの上書き(オーバーライド)を行います。 編集画面にてマウスの右クリックを押下し、メニューを表示します。「ソース>メソッドのオーバーライド/実装...」を選択します。

図6 メソッドのオーバーライドを行う

ここでは自動生成されたメソッド initialize を指定します。(このメソッドは、新規登録画面に表示されるオブジェクトの初期値を設定するために用意されたものです。)

図7 メソッドを指定する

メソッドが用意されます。標準では親クラスのメソッドを実行するようになっています。

図8 用意されたカスタマイズ用メソッド

次のコードを追加します。

customer.setName("夏目 漱石");

これで名前項目の初期値をセットしました。

図9 コードを追加する

カスタマイズコードを作成した後、WagbyDesignerでビルド(差分ビルド)を行う必要があります。

※ Tomcatが起動していた場合は、いったん停止してビルドを行うとよいでしょう。

customizeフォルダ内のコードは Wagby Designerでビルドした際にWebアプリケーションに自動配置されます。 javaフォルダの内容はコンパイルされ、WEB-INF\classesに格納されます。 resourcesフォルダの内容はそのまま WEB-INF\classesに格納されます。 webappフォルダの内容は、それぞれ対応するフォルダに格納されます。

図10 WagbyDesignerでビルドする

ビルド処理によって、WEB-INF\applicationContext\customer.xmlが書き変わります。CustomerHelperの代わりに(カスタマイズされたクラスである)MyCustomerHelperを使うようになります。

ビルドしたアプリケーションの実行例です。新規登録画面で、指定した値がセットされていることがわかります。

図11 カスタマイズしたアプリケーションの実行

カスタマイズコードを作成したあとに再度、自動生成を行うこともできます。 この場合の手順は次のとおりです。

  1. Webアプリケーションを停止し、Eclipseをいったん終了する。
  2. WagbyDesignerにて自動生成とビルドを行う。
  3. Eclipseを起動し、プロジェクトののリフレッシュを行う。