今天使用struts 2.3.4版本,做了一个通配符的小测试,结果其他的Action都能正常的使用,但是使用通配符的Action不能正常的使用。网上找了很久,最后发现,貌似strust2.3版本以上的通配符是需要加上适用Action方法的范围,如下面代码显示。input和detail对应Action方法的Action可以使用通配符来配置
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <package name="TagPackage" namespace="/" extends="struts-default"> <!-- <action name="Tag" > <result name="success">/index.jsp</result> </action> --> <action name="CommonTag" class="com.struts2.action.TagAction" method="CommonTag"> <result name="success">/WEB-INF/pages/CommonTag.jsp</result> </action> <action name="User_*" class="com.struts2.action.TagAction" method="{1}"> <result name="success">/WEB-INF/pages/{1}.jsp</result> <allowed-methods>input,detail</allowed-methods> </action> <action name="User_index" class="com.struts2.action.TagAction" method="detail"> <result name="success">/index.jsp</result> </action> </package> </struts>