Strutsリファレンス(逆引き)

Strutsリファレンス
 
Web struts.wasureppoi.com
アクションフォーム&アクション定義
スポンサード リンク

入力画面のアクションフォーム定義
「struts-config.xml」の<form-beans>タグ内に、ダイナアクションフォームとして定義しています。

<form-beans>

 <!-- フォーム名称:入力画面ActionForm -->
  <form-bean name="SampleInputForm"
      type="org.apache.struts.validator.DynaValidatorActionForm" >

   <!-- 項目名称:ユーザーID -->
   <form-property name="userId" type="java.lang.String" />

   <!-- 項目名称:氏名 -->
   <form-property name="userName" type="java.lang.String" />

   <!-- 項目名称:生年月日(西暦) -->
   <form-property name="birth" type="java.lang.String" />

  </form-bean>

</form-beans>
 
<form-property>タグのname属性で指定している名称は、HTMLのパラメータ名となる。


入力画面のアクション定義
「struts-config.xml」の<action-mappings>タグ内に、アクションを定義しています。

<action-mappings>
 
 <!-- アクション名称:入力画面パス-->
  <action path="/sample_input"
      forward="SAMPLE_INPUT" />

  <!-- アクション名称:入力確認画面パス -->
  <action path="/sample_check"
      type="sample.action.SampleInputCheckAction"
      name="SampleInputForm"
      scope="session"
      validate="true"
      input="SAMPLE_INPUT">
    <!-- 入力確認画面へ遷移する -->
   <forward name="success" path="SAMPLE_CONFIRM" />
   <!-- 入力画面に戻る -->
   <forward name="error" path="SAMPLE_INPUT" />
 </action>

</action-mappings>

入力画面パスの処理
  (1)URL「http://127.0.0.1:8080/Struts1.2/do/sample_input」の場合に、このアクションが実行
  (2)forword属性で指定のJSP「SAMPLE_INPUT」へ遷移します。※1

入力確認画面パスの処理
  (1)URL「http://127.0.0.1:8080/Struts1.2/do/sample_check」の場合に、このアクションが実行
  (2)name属性で指定の「SampleInputForm」のダイナアクションフォームにリクエストパラメータを格納し、
     scope属性で指定の「session」にダイナアクションフォームを格納。(セッションに格納)
  (3)validate属性でtrue指定なので、validationを実行して入力チェックをする。
  (4)validationで入力チェックエラーが発生した場合、input属性指定のJSP「SAMPLE_INPUT」へ遷移する。
  (5)validationでエラーが無かったら 、type属性で指定のアクションクラス
     「sample.action.SampleInputCheckAction」 を実行する。
  (6)アクションクラスの処理結果が「success」の場合、JSP「SAMPLE_CONFIRM」へ遷移する。※1
     アクションクラスの処理結果が「error」の場合、JSP「SAMPLE_INPUT」へ遷移する。※1

※1 JSP「SAMPLE_INPUT」、「SAMPLE_CONFIRM」は、tiles.xmlで定義されています。

スポンサード リンク

WEBサンプルアプリケーションの概要
WEBアプリケーション定義
プラグイン、メッセージリソース定義
アクションフォーム&アクション定義
アクションクラス
validation
JSP(tiles)

Struts概要へ
忘れっぽいエンジニアのJakarta Strutsリファレンス TOPへ