(12)Struts_通配符映射
来源:互联网 发布:淘宝女装从哪里进货好 编辑:程序博客网 时间:2024/06/05 22:29
通配符映射
一个 Web 应用可能有成百上千个 action 声明. 可以利用 struts 提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系
<action name="czy_save" class="com.qbz.struts2_02.GG_CZY" method="save"> <result name="save">/WEB-INF/page/save.jsp</result> </action> <action name="czy_update" class="com.qbz.struts2_02.GG_CZY" method="update"> <result name="update">/WEB-INF/page/update.jsp</result> </action> <action name="czy_delete" class="com.qbz.struts2_02.GG_CZY" method="delete"> <result name="delete">/WEB-INF/page/delete.jsp</result> </action> <action name="czy_getCzys" class="com.qbz.struts2_02.GG_CZY" method="getCzys"> <result name="getCzys">/WEB-INF/page/getCzys.jsp</result> </action>
上面和下面配置的效果相同
<action name="czy_*" class="com.qbz.struts2_02.GG_CZY" method="{1}"> <result name="{1}">/WEB-INF/page/{1}.jsp</result> </action>
通配符映射规则
- 若找到多个匹配, 没有通配符的那个将胜出
- 若指定的动作不存在, Struts 将会尝试把这个 URI 与任何一个包含着通配符 * 的动作名及进行匹配
- 被通配符匹配到的 URI 字符串的子串可以用 {1}, {2} 来引用. {1} 匹配第一个子串, {2} 匹配第二个子串…
- {0} 匹配整个 URI
- 若 Struts 找到的带有通配符的匹配不止一个, 则按先后顺序进行匹配
- 可以匹配零个或多个字符, 但不包括 / 字符. 如果想把 / 字符包括在内, 需要使用 **. 如果需要对某个字符进行转义, 需要使用 .
1.若找到多个匹配, 没有通配符( 即:精确匹配 )的那个将胜出
<action name="czy_*" class="com.qbz.struts2_02.GG_CZY" method="{1}"> <result name="{1}">/WEB-INF/page/{1}.jsp</result> </action> <!-- 如果请求 /czy_getCzys.action 将会执行没有通配符的 name="czy_getCzys" 的action --> <action name="czy_getCzys" class="com.qbz.struts2_02.GG_CZY" method="getCzys"> <result name="getCzys">/WEB-INF/page/getCzys.jsp</result> </action>
2.若指定的动作不存在, Struts 将会尝试把这个 URI 与任何一个包含着通配符 * 的动作名及进行匹配
可见,uri匹配时是先精确匹配的,精确匹配不上时,再来对包含有通配符*的action进行匹配。
3. 被通配符匹配到的 URI 字符串的子串可以用 {1}, {2} 来引用. {1} 匹配第一个子串, {2} 匹配第二个子串…
<!-- 当请求是 /czy_save_show.action 时,就会调用GG_CZY.java 中的save方法,当返回值为"save"时,会转发到 /WEB-INF/page/show.jsp--> <action name="czy_*_*" class="com.qbz.struts2_02.GG_CZY" method="{1}"> <result name="{1}">/WEB-INF/page/{2}.jsp</result> </action>
4.{0} 匹配整个 URI
<!-- 若请求是 /czy_save 时,将会调用 GG_CZY.java 的czy_save方法 --> <action name="czy_*" class="com.qbz.struts2_02.GG_CZY" method="{0}"> <result name="ok">/WEB-INF/page/Show.jsp</result> </action>
5.若 Struts 找到的带有通配符的匹配不止一个, 则按先后顺序进行匹配
<!-- 若请求是 /czy_save_show 将会调用 name="czy_*" 的action --> <action name="czy_*" class="com.qbz.struts2_02.GG_CZY" method="{1}"> <result name="{1}">/WEB-INF/page/{1}.jsp</result> </action> <action name="czy_*_*" class="com.qbz.struts2_02.GG_CZY" method="{1}"> <result name="{1}">/WEB-INF/page/{2}.jsp</result> </action>
<!-- 若请求是 /czy_save_show 将会调用 name="czy_*_*" 的action --> <action name="czy_*_*" class="com.qbz.struts2_02.GG_CZY" method="{1}"> <result name="{1}">/WEB-INF/page/{2}.jsp</result> </action> <action name="czy_*" class="com.qbz.struts2_02.GG_CZY" method="{1}"> <result name="{1}">/WEB-INF/page/{1}.jsp</result> </action>
6. 可以匹配零个或多个字符, 但不包括 / 字符. 如果想把 / 字符包括在内, 需要使用 **. 如果需要对某个字符进行转义, 需要使用\.**
0 0
- (12)Struts_通配符映射
- Struts2(五)---通配符映射
- 通配符映射
- 通配符映射
- 通配符映射
- struts_上传
- 安装通配符应用程序映射
- struts2通配符映射
- struts2通配符映射
- struts2 通配符映射
- 7.Struts2_通配符映射
- Struts2通配符映射
- struts2的通配符映射
- Struts2通配符映射
- Struts2通配符映射
- struts2中的通配符映射
- 13. Struts2_通配符映射
- 12.Struts2_通配符映射
- Andorid.mk 文件手动编译
- PHP相关系列 - 如何提高php代码的质量
- AccessibilityNodeInfo自动输入
- linux中安装redis
- 有的Module出现findLibrary returned null,有的不出现
- (12)Struts_通配符映射
- iOS - 修改IOS tabbar 背景图片以及分割线
- Vuejs——(6)Vuejs与form元素
- java源文件中的类至多有一个被public修饰(学习心得)
- jQuery中选择器使用简介
- Struts学习总结(九)---使用Struts2实现用户信息的CRUD操作(四:删除操作)
- java异常类
- 第26篇 linux下布署apprtc(四)及JS
- RMAN 初级学习之 了解RMAN恢复