特集
2004/04/23 17:45 更新

特集:第3回 Strutsをチーム開発に生かす「XDoclet」の活用 (4/8)
取り上げるサンプルアプリケーション仕様
本稿では、画面1に挙げるよう、入力フォームのサンプルアプリケーションの作成を例に、XDocletを使ったStrutsアプリケーションの開発手順を紹介する。

また、アプリケーションの開発用ディレクトリは、表1のように構成していることを前提とする。使用するAntビルドファイル(build.xml)も、このディレクトリ構成を前提に作成してある(※1)。
ここでStruts設定ファイルやvalidator検証設定ファイルが無いことに気づいただろうか? これらは、ビルドの際にXDocletが生成するので、用意しておく必要がないのだ。
|
表1■アプリケーションのファイルとディレクトリ構成
|
1. ソースコードの作成
まず、ActionFormクラス(InputForm.java)を見てみよう。Validatorによる入力データ検証を行うため、スーパークラスはorg.apache.struts.validator.ValidatorFormとなっている。そのほかは、入力フォーム(input.jsp)から送られるパラメータ名に合わせた名前のjava.lang.String型のプロパティ(計6個)と、各プロパティに対するアクセッサメソッド(計12個)を持つ通常のActionFormクラスだ。ここで、クラス宣言部のJavadocコメント部分に注目してもらいたい(リスト2)。
リスト2■InputForm.javaのクラス宣言部
package study.xdoclet.struts.form;
import org.apache.struts.validator.ValidatorForm;
/**
* InputForm
* @struts.form
* name="inputForm"
* @author tetsuo
*
*/
public class InputForm extends ValidatorForm {
//〜略〜
}
|
「@struts.form name="inputForm"」の部分が、XDoclet用のタグだ。ビルドの際に、XDocletはJavaソースコードとJavadocコメントに記述されたXDoclet独自のタグを読み取り、Struts設定ファイルの<form-bean>要素を自動生成する(図1)。

次に、Actionクラス(InputAction.java)を見よう(リスト3)。ソースコードの作成は通常のActionクラスとまったく変わらない。ここでも、クラス宣言部に記述されたJavadocコメントに注目してもらいたい。
リスト3■InputAction.javaのクラス宣言部
package study.xdoclet.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* InputAction
* @struts.action
* name="inputForm"
* path="/input"
* scope="request"
* input="/input.jsp"
* validate="true"
* @struts.action-forward
* name="success"
* path="/index.jsp"
* @author tetsuo
*/
public class InputAction extends Action {
//〜略〜
|
リスト3は、Strutsアプリケーションの開発を経験した人であれば、見慣れた属性名が並んでいることに気づくだろう。「@struts.action」タグに記述されたそれぞれの属性は、Struts設定ファイルの<action>要素のそれぞれの属性に対応し、「@struts.action-forward」タグは、<action>要素内の<forward>要素に対応し、「name」、「path」それぞれの属性が<forward>要素の「name」、「path」属性に対応していることが容易に推測できるはずだ。ActionFormクラスの場合と同様に、XDocletはビルドの際に、ActionクラスのソースコードとJavadocコメントに記述されたXDoclet独自のタグを読み取り、Struts設定ファイルの<action>要素を生成する(※2)。

|
前のページ | 1 2 3 4 5 6 7 8 | 次のページ
[阿島哲夫,ITmedia]
Copyright © ITmedia, Inc. All Rights Reserved.
