特集
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.