通配符映射规则
若找到多个匹配, 没有通配符的那个将胜出
若指定的动作不存在, Struts 将会尝试把这个 URI 与任何一个包含着通配符 * 的动作名及进行匹配
若 Struts 找到的带有通配符的匹配不止一个, 最后一个匹配将胜出
被通配符匹配到的 URI 字符串的子串可以用 {1}, {2} 来引用. {1} 匹配第一个子串, {2} 匹配第二个子串…
{0} 匹配整个 URI
* 可以匹配零个或多个字符, 但不包括 / 字符. 如果想把 / 字符包括在内, 需要使用 **. 如果需要对某个字符进行转义, 需要使用 \
案例:
案例一: 多个路径访问同一个Action的同一个方法
pattern.jsp映射路径
<a href="${pageContext.request.contextPath}/pattern/book_save.action">图书存储</a><br/>
<a href="${pageContext.request.contextPath}/pattern/categiry_save.action">分类存储</a><br/>
<a href="${pageContext.request.contextPath}/pattern/order_save.action">订单存储</a><br/>
所有的路径都是以xxxx_save.action模式出现的! 这三个路径需要访问同一个Action的
save()方法,如果没有通配符配置,那么就需要重复配置三个Action。
通配符映射规则
<!--指定通配符的Action-->
<action name="*_save" class="cn.itcast.pattern.{1}" method="save">
<result name="success">/pattern/{1}.jsp</result>
</action>
{1}代表第一个*的值