您的位置:首页 > 编程语言 > Java开发

struts2系列学习笔记(4)---------------Action的多样化配置之二

2011-01-20 07:53 381 查看
3.包含多个控制器方法的Action类

同一个Action类中可以包含多个方法,通常这些处理方法是一组相关的业务逻辑,例如对书籍进行增,删,改,查,可以用同一个Action类来完成.如何在不同情况下调用不同的方法呢?

1)通过uri来指定具体执行的方法

被调用的Action名称修改为: ActionName!methodName.action,通过!后面的内容确定执行的方法.

(默认情况下是关闭动态方法调用的,开启动态方法调用的方法:设置struts.enable.DynamicMethodInvocation的值为true)

2)通过配置文件指定执行的方法

通过配置文件struts.xml中<action>标签的method属性指定,未指定method属性默认该属性值为execute

3)使用通配符**

通配符为* ,该通配符可以通过配置文件struts.xml中name,class和method属性中使用

<action name="*Action" class="xxx" method="{1}">

其它用法:

1. <action name="*Action" class="xxx{1}" >

2. <action name="*-*" class="xxx{1}" method="{2}" >

3. <action name="*">

<result>/{1}.jsp</result>

</action>

....

说明:

由于通配符的存在可能出现配置文件中如下情况:

<action name="*" 。。。

<action name="*Action" 。。。

<action name="ABCAction" 。。。

此时请求时遵循最精确路径匹配的原则,带通配符的配置则按照先后顺序寻找匹配。即如果请求路径是ABCAction则执行最后一个配置所对应的类,如果是DDAction则执行第一个配置所对应的类,如果是DD则执行第一个个配置所对应的类.如果把1,2配置调换,则如果是DDAction则执行name="*Action"配置所对应的类

4.默认的Action类

<default-action-ref name="另一个有效的Action的name属性值">

该Action成为容器中默认的Action
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: