Struts2笔记——通配符和动态方法调用
2015-08-27 12:02
495 查看
通配符映射
* 一个 Web应用可能有成百上千个 action 声明. 可以利用 struts提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系
* 通配符映射规则
> 若找到多个匹配, 没有通配符的那个将胜出
> 若指定的动作不存在, Struts 将会尝试把这个 URI与任何一个包含着通配符 * 的动作名及进行匹配
> 若 Struts找到的带有通配符的匹配不止一个, 最后一个匹配将胜出
> 被通配符匹配到的 URI 字符串的子串可以用 {1}, {2} 来引用. {1} 匹配第一个子串, {2} 匹配第二个子串…
> {0} 匹配整个 URI
> * 可以匹配零个或多个字符, 但不包括/ 字符. 如果想把 / 字符包括在内, 需要使用 **. 如果需要对某个字符进行转义, 需要使用\.
==================================
动态方法调用
* 动态方法调用:通过url 动态调用 Action中的方法
如果Action中存在多个方法时,我们可以使用!+方法名调用指定方法
* 默认情况下,Struts 的动态方法调用处于激活状态, 若想禁用该功能,则可以在struts.xml 文件中添加如下 constant元素:
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
==================================
使用通配符定义action
==================================
全局结果
当多个action中都使用到了相同result,这时我们应该把result定义为全局结果。struts1中提供了全局forward,struts2中也提供了相似功能:
<package ....>
<global-results>
<resultname="message">/message.jsp</result>
</global-results>
</package>
注:局部的会覆盖全局
Struts1中应用范围内action的实例 action是单实例(执行时,现在缓存中查找实例,有用,没有创建新的实例)
Struts2中 应用范围内action的实例,每个请求都会创建一个action实例
* 一个 Web应用可能有成百上千个 action 声明. 可以利用 struts提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系
* 通配符映射规则
> 若找到多个匹配, 没有通配符的那个将胜出
> 若指定的动作不存在, Struts 将会尝试把这个 URI与任何一个包含着通配符 * 的动作名及进行匹配
> 若 Struts找到的带有通配符的匹配不止一个, 最后一个匹配将胜出
> 被通配符匹配到的 URI 字符串的子串可以用 {1}, {2} 来引用. {1} 匹配第一个子串, {2} 匹配第二个子串…
> {0} 匹配整个 URI
> * 可以匹配零个或多个字符, 但不包括/ 字符. 如果想把 / 字符包括在内, 需要使用 **. 如果需要对某个字符进行转义, 需要使用\.
==================================
动态方法调用
* 动态方法调用:通过url 动态调用 Action中的方法
如果Action中存在多个方法时,我们可以使用!+方法名调用指定方法
* 默认情况下,Struts 的动态方法调用处于激活状态, 若想禁用该功能,则可以在struts.xml 文件中添加如下 constant元素:
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
==================================
使用通配符定义action
==================================
全局结果
当多个action中都使用到了相同result,这时我们应该把result定义为全局结果。struts1中提供了全局forward,struts2中也提供了相似功能:
<package ....>
<global-results>
<resultname="message">/message.jsp</result>
</global-results>
</package>
注:局部的会覆盖全局
Struts1中应用范围内action的实例 action是单实例(执行时,现在缓存中查找实例,有用,没有创建新的实例)
Struts2中 应用范围内action的实例,每个请求都会创建一个action实例
相关文章推荐
- Struts2笔记——类型转换
- Struts2笔记——类型转换
- Java集合框架
- java的枚举类型初始
- java 集合(arraylist set map)遍历问题
- java-captcha实现验证码(二)
- import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport;这两行报错
- demo2 JAVA变量
- kafka学习(三)--java开发(基于kafka0.8版本)
- Android SDK+Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建
- java中四种引用类型
- MyBatis之java.lang.UnsupportedOperationException异常解决方案
- salesforce rest api 登录 | Authenticating to Salesforce using REST, OAuth 2.0 and Java
- JAVA问题总结之16-一维数组案例
- java annotation 例子
- 《Java并发编程的艺术》读书笔记(一)
- Eclipse更改字体大小
- java死锁例子详解
- Java学习笔记----运算符
- JNI数据类型转换