您好,登錄后才能下訂單哦!
動態(tài)方法就是一個Action對應(yīng)多個請求,減少Action的數(shù)量
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"></constant>(加在package標(biāo)簽外面)
調(diào)用不同方法使用:
訪問execute方法: http://localhost:8080/TestStruts2/HelloWorld.action
訪問update方法: http://localhost:8080/TestStruts2/HelloWorld!update.action
訪問add方法 http://localhost:8080/TestStruts2/HelloWorld!add.action
3、通配符方式
Action配置:
<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>
第一個*對應(yīng)action,第二個*對應(yīng)method
注意result標(biāo)簽的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"; } }
總結(jié)
以上就是本文關(guān)于詳解Struts2動態(tài)方法調(diào)用的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以參閱:struts2開發(fā)流程及詳細(xì)配置 Struts2修改上傳文件大小限制方法解析等,有什么問題可以隨時留言,小編會盡快回復(fù)大家。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。