struts2中的通配符规则
- 原创
- |
- 浏览:231
- |
- 更新:
- |
- 标签:JAVA
一个web应用程序可能有成百上千个action的声明 可以利用struts2提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系
通配符规则
若找到多个匹配 没有通配符的那个胜出
若指定的动作不存在,Struts将会尝试把这个URI与任何一个包含着通配符 * 的动作名进行匹配
被通配符匹配到的URI字符串的子串可以用{1}、{2}来引用,{1}匹配第一个字符串 {2}匹配第二个字符串
{0} 匹配整个URI
若struts找到的带有通配符的匹配不止一个,则按照先后顺序进行匹配
*可以匹配零个或多个字符 但不包括/字符 如果想要把 / 字符包括再内 需要使用**.如果需要对某个字符进行转义,需要使用\
方法/步骤
打开IDEA开发工具,创建一个struts2的JAVAWeb项目,并引入相关的struts2的相关jar包
再wen,xml中进行struts2的相关配置.主要时strut2就是使用的Filter拦截器为控制器的
再index.jsp中添加几个超链接 分别进行的请求路径为testAcion-save、testAcion-update、testAcion-delete、testAcion-query
随后再当前目录下的src目录中创建struts.xml的文件 用于对这几个请求的action进行匹配设置
创建一个TestAction的java文件 用于映射struts.xml中的action对应的方法
然会运行当前项目,跑到浏览器中进行查看是否可执行
END- 相关内容非法爬取自百度经验
方法/步骤2
优化sturts.xml中多个action变为一个action。使用sturts2中的通配符规则来进行匹配请求路径的。
若找到多个匹配 没有通配符的那个胜出
若指定的动作不存在,Struts将会尝试把这个URI与任何一个包含着通配符 * 的动作名进行匹配
被通配符匹配到的URI字符串的子串可以用{1}、{2}来引用,{1}匹配第一个字符串 {2}匹配第二个字符串
{0} 匹配整个URI
若struts找到的带有通配符的匹配不止一个,则按照先后顺序进行匹配
** 可以匹配零个或多个字符 但不包括/字符 如果想要把 / 字符包括再内 需要使用**.如果需要对某个字符进行转义,需要使用\
这些时struts2中通配符的规则
最后 再运行项目到浏览器中进行运行,看执行结果是否可行
END
注意事项
- 注意 再使用struts2中的通配符的时候 需要记住,精准匹配优先与模糊匹配
- Struts将会尝试把这个URI与任何一个包含着通配符 * 的动作名进行匹配 * 被通配符匹配到的URI字符串的子串可以用{1}、{2}来引用
- 匹配整个URI * 若struts找到的带有通配符的匹配不止一个,则按照先后顺序进行匹配