Structs2:映射通配符、动态方法调用

映射通配符

代码示例

<action name="*_*" class="com.actiontest.{1}" method="{2}">
    <result>/{0}.jsp</result>
</action>

映射通配符一般由***\组成,其中**匹配带/的字符串、*匹配不带/的字符串、\作为转义字符,当需要匹配*时使用。

访问时可以用{N}来访问各个元素。举个栗子,假如匹配的actionName为User_save,则{1}代表User{2}代表save{0}代表整个字符串,即User_save。通配符的好处是减少了action的数量,通过这种匹配的手段我们可以直接把一类同意action类的各个方法的请求写成一个action标签,也方便了后期检查维护。


动态方法调用

动态方法调用就是在URL上动态的调用Action类对象的方法。要使用动态方法调用功能首先必须打开动态方法调用的开关,它被设置在default.properties文件里面,默认值为false,要打开则需要在structs.xml里添加该语句:

<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

之后就可以通过在URL中添加!methodName来动态地调用某个方法了。需要注意的是,当使用动态方法调用方法后,即使在action标签中给method属性赋值了一个方法映射,action还是会调用动态调用的方法。

发布了35 篇原创文章 · 获赞 4 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/jiujiuming/article/details/52633784