簡単な Struts
構成要素
- ActionServlet
- リクエストを受け取る
- web.xml で action という名前のサーブレットとして登録されている。
- ActionForm
- フォームデータを保持する Bean。サブクラスを作成. アクセサと validate(map, req) を定義。validate() のシグネチャは public ActionErrors validate(ActionMapping m, HttpServletRequest r) であり、内部で空の ActionErrors のインスタンスを作り、問題があるときは ActionError を ActionErrors に登録。後に html タグで参照可能。
- ActionError(s) は ActionMessage(s) に置き換えられる方向。
- Action
- ビジネスロジック execute() を定義
- 最終的には return mapping.findForward("id") で戻る
- public ActionForward execute(
ActionMapping mapping,
ActionFrom form,
HttpServletRequest request,
HttpServletResponse response) throws Exception
│ logon.jsp
│ menu.jsp
│
├─META-INF
│ MANIFEST.MF
│
└─WEB-INF
│ struts-config.xml
│ web.xml
│
├─classes
│ └─study
│ └─struts
│ ├─action
│ │ LogonAction.class
│ │
│ └─form
│ LogonForm.class
│
├─lib
│ antlr.jar
│ commons-beanutils.jar
│ commons-collections.jar
│ commons-digester.jar
│ commons-fileupload.jar
│ commons-logging.jar
│ commons-validator.jar
│ jakarta-oro.jar
│ struts.jar
│
└─tld
struts-bean.tld
struts-html.tld
struts-logic.tld
struts-nested.tld
struts-tiles.tld
- RequestProcessor
- 一連の処理をコントロールしている。サブクラス化して Struts のある処理に関して動作を変更できる。processLocale(), processMapping(), processActionForm() など。struts 設定ファイルで
<controller processClass="RequestProcessor sub class"/>
- で設定
- ActionMapping
- Action の execute() に渡されるパラメータのひとつ。
最終更新:2006年03月08日 00:09