Struts2动态方法调用

来源:互联网 发布:数据集中管理 编辑:程序博客网 时间:2024/06/03 21:29

在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多

第一种方式:指定method属性

struts2.xml:
<action name="chainAction"class="chapter2.action.Chapter2Action"
method="add">
<result name="add"type="chain">add.jsp</result>
</action>  
<action name="plainText"class="chapter2.action.Chapter2Action"
method="plainText">
<result name="plainText"type="plainText">plaintext.jsp</result>
</action>


第二种方式:感叹号方式(需要开启),官网不推荐使用这种方式,建议大家不要使用.
用这种方式需要先开启一个开关
<constantname="struts.enable.DynamicMethodInvocation" value="true"/> 
将此常量设置为true,这种方式才能使用
struts2.xml:
<action name="chainAction"class="chapter2.action.Chapter2Action">
<result name="add"type="chain">add.jsp</result>
</action> 

Action类里面写一个add方法
页面就可以<ahref="chainAction!add">add</a>来访问add方法

如果配置了.action后缀,页面就写:<ahref="chainAction!add.action">add</a>


第三种方式:通配符方式(官网推荐使用)
首先得关闭开关
<constantname="struts.enable.DynamicMethodInvocation" value="false"/> 
struts2.xml:
<action name="chainAction_*"class="chapter2.action.Chapter2Action""method="{1}">
<resultname="{1}">{1}.jsp</result>
</action>

页面:<ahref="chainAction_add">add</a>


0 0
原创粉丝点击