1、Struts2中通配符可通过请求的url路径来确定包、类、方法、返回值名。
如
<action name="*_*_*_*" class="cn.javass.{1}.action.{2}Action" method="{3}"><result name="{3}">/{4}.jsp</result></action>
当请求login_login_login_login.action时会访问com.moudle.login.action.loginAction类的login方法,返回结果login后跳转到login.jsp页面。使用例子方法可解决大部分result为jsp页面的配置,对于返回值为json的因为要返回的属性值可能不同,需要进行action的精确配置(模糊配置时要将返回类型为json 的action配置放在前面)。
注意:1、配置中action的name属性中使用多个通配符“*”时必须要使用“/”或“_”进行分割,否则不知道怎样划分*。根据*在name属性中出现的顺序,使用{n}(n的值1-9)来访问每个通配符代码的内容,使用{0}表示整个请求url。
2、当struts2收到请求URL后,会先遍历通配符以外所有的请求配置(精确配置),如果找到匹配url的action则进入,若未找到再遍历属性中含通配符的action(先遍历精确配置,然后按顺序遍历含通配符配置),所以一般使用通配符比不使用要慢。