Struts2学习笔记(2)之Result
来源:互联网 发布:观山4字能值多少钱知乎 编辑:程序博客网 时间:2024/05/16 12:33
Result
Result类型
1. dispatcher:类似于转发,是result的默认type类型,不能转发到其他action中。
2. redirect:类似于重定向,不能重定向到其他action中。
3. chain:类似于转发,可以转发到其他action中。
4. redirectAction:类似于重定向,可以重定向到其他action中。
5. 跳转到其他包中的action的方式
6. 使用重定向的方式时,如何解决参数传递
1) 在action中设置一个变量存储传递过来的变量。
2) 在struts2中配置,在重定向的页面地址后加入参数。?t=${type}
3) 在重定向的页面获取:通过<s:property value=”#parameters.t”/>
OGNL(对象图导航语言)
1. 只有通过user.xxx的方式,strut2才会去调用DemainModel的构造器。
2. 想要初始化domain model,可以自己new,也可以传递参数值(上面),但这时需要保存空的构造器。
3. Ognl的使用
1) 静态访问:@+类全路径名称+@+静态方法/静态属性
2) 访问set集合时不同能通过下标访问元素,因为set是无序的。
4. 通过bean标签初始化一个对象
<s:beanname="com.bjsxt.struts2.ognl.action.Dog" var="myDog">
<s:paramname="name" value="'oudy'"></s:param>
</s:bean>
1) Bean标签有两个属性:name和var
2) Name:给出类的全路径名称。
3) Var:如果设置了var表示用var的变量指向类的实例对象,并把这个实例放到actionContext中。
如果没有设置var表示将类的实例放入到值栈中,当bean结束后,出栈。
5. Set标签
1) 包含两个属性:var和value
2) <s:set var=”age” value=”#parameters.age[0]”/>将长变量设置为段变量。并将变量放入到actionContext中。
3) 使用时通过#age即可获取到parameters.age[0]对应的值。
6. $、#、%区别
1) $ 用于struts配置文件,获取变量值
2) # 获取ActionContext中的值
3) %将原本属性的文本解析为ognl,对于本来就是ognl的属性不起作用
<s:propery> <s:include>
7. 获取错误信息fieldError标签
1) 在action中通过this.addFieldError(name,value);添加错误信息。
2) 在jsp中使用struct标签:<s:fieldError name=”name”/>取出错误信息。
3) 或者:<s:property value=”errors.name[0]”/>
声明式异常
1. 在struts2中处理action中抛出的异常:
<exception-mapping result=”error” exception=”java.sql.SQLException”>
表示当action抛出java.sql.SQLException异常时,显示result为error的视图。
2. 设置全局的异常处理
1) 编写一个bbs2009_default包
2) 在包中设置global-resluts和global-exception-mapping
3) 在其他包中继承这个包:extends=”bbs2009_default”。
4) 处理过程:
a) Action抛出异常,在自己的result中有没有能处理这个异常的exception
b) 没有则到父类包中找,即bbs2009_default中找
c) 找到后通过global-result找到相应的result,然后显示视图。
3. 原理:(由拦截器实现)
1) 所有的包都继承structs-default,在这个包中定义了许多拦截器。
2) 其中有一个Exception的拦截器。
3) 在这个拦截器中的拦截方法intercept,参数是ActionInvocation,这个参数封装了action的执行。
4) 执行ActionInvocation#invoke(),即执行action的execute()方法。得到result。
5) 当action中抛出异常时,会被拦截器以catch方式捕获到这个异常,之后再找到对应的exceptionMapping,将这个result为最终的result,返回。
6) 找到相应的result,显示视图。
- Struts2学习笔记(2)之Result
- struts2学习笔记之八(result)
- J2EE系列之Struts2学习笔记(十一)--result配置
- struts2学习笔记(5)----------配置result
- Struts2笔记三之Result
- Struts2学习笔记之result视图转发类型
- Struts2学习笔记之result视图转发类型
- struts2学习笔记-2----result的type几个类型
- Struts2学习笔记(六) 结果(Result)(上)
- Struts2学习笔记(七) 结果(Result)(下)
- Struts2学习笔记(七) 结果(Result)(上)
- Struts2学习笔记(八) 结果(Result)(下)
- (5)Struts2之Result
- struts2学习笔记----result with params
- Struts2 学习笔记 10 Result部分 part1
- Struts2 学习笔记 11 Result part2
- 【Struts2学习笔记(2)】Action配置中的各项默认值和Action中result的各种转发类型
- Struts2学习 Result
- UIMenuController的使用
- 寒假练习1_A
- 理论: STL(1): set
- [leetcode] 33. Search in Rotated Sorted Array
- 如果你想终结OOM崩溃,现在就安装LeakCanary!
- Struts2学习笔记(2)之Result
- NavigationView和DrawerLayout实现侧滑菜单栏
- Android应用Design Support Library完全使用实例
- 使用R语言分析股价波动
- 诡异的楼梯 hdu 1180
- QPS UV PV
- 【JSTL】-EL表达式
- 【ITOO】---easyUI的Combobox实现级联查询
- Struts2学习笔记(3)之国际化