Struts 2ダイナミック方法の起動について詳しく説明します。

2817 ワード

ダイナミック方法とは、一つのアクションが複数の要求に対応し、アクションの数を減らすことである。
1、method属性を指定する

<action name="addAction" method="add" class="com.venn.action.HelloWorldAction">
<result>/jsp/add.jsp</result>
</action>
2、感嘆符(!)方式(推奨しない)

<action name="HelloWorld" class="com.venn.action.HelloWorldAction">
   <result>/jsp/test.jsp</result>
  <result name="add">/jsp/add.jsp</result>
  <result name="update">/jsp/update.jsp</result>
</action>
struts.xmlに次のような量を加える必要があります。
<constant name=「struts.enable.DynamicMethodInvocation」value=「true」
異なるメソッドを呼び出して使用します。
executeへのアクセス方法:http://localhost:8080/TestStruts2/HelloWorld.action
アクセスアップデート方法:http://localhost:8080/TestStruts2/HelloWorld!udate.action
アクセスadd方法http://localhost:8080/TestStruts2/HelloWorld!add.action
3、ワイルドカード方式
アクションの設定:

<action name="HelloWorld_*" method="{1}" class="com.venn.action.HelloWorldAction">
<result>/jsp/test.jsp</result>
<result name="add">/jsp/add.jsp</result>
<result name="update">/jsp/update.jsp</result>
</action>
executeへのアクセス方法:http://localhost:8080/TestStruts2/HelloWorld.action またはhttp://localhost:8080/TestStruts2/HelloWorld_execute.action
アクセスadd方法http://localhost:8080/TestStruts2/HelloWorld_add.action
注:struts.xmlの構成を簡略化するために、actionを以下のように設定することができます。

<action name="*_*_*" method="{2}" class="com.venn.{3}.{1}Action">
<result>/jsp/test.jsp</result>
<result name="add">/jsp/{2}.jsp</result>
<result name="update">/jsp/{2}.jsp</result>
</action>
 
一つ目*対応action、二つ目*対応method
注意resultタグのname属性はワイルドカードを使用してはいけません。
java類

public class HelloWorldAction extends ActionSupport {
@Override
public String execute() throws Exception {
System.out.println("execute method");
return "success";
}
public String add(){
System.err.println("add method");
return "add";
}
public String update(){
System.out.println("update method");
return "update";
}
}
締め括りをつける
以上が、Struts 2の動的方法を詳しく説明するための資料です。興味のある友達はstruts 2開発プロセスと詳細配置を参照してください。   Struts 2アップロードファイルのサイズ制限方法の解析を修正します。など、何か問題があったらいつでもメッセージを残してください。