struts2_全局结果视图_参数封装
来源:互联网 发布:linux中的telnet命令 编辑:程序博客网 时间:2024/06/03 22:03
1.result标签:
name:逻辑视图的名称,对应着动作方法的返回值。默认值是success。
type:结果类型,指的就是用什么方式转到定义的页面。默认是dispatcher。
type的常用取值:
dispatcher:(默认值)
使用请求转发,转向一个页面。
redirect:
使用重定向,转向一个页面。它可以用于重定向到另外一个动作。
redirectAction:
使用重定向,前往指定的动作。
配置全局结果视图:
<package name="myDefault" extends="struts-default" abstract="true">
<global-results>
<result name="login">/login.jsp</result>
</global-results>
</package>
2.使用ServletActionContext:
static HttpServletRequest getRequest():获取Web应用的HttpServletRequest对象。
static HttpServletResponse getResponse():获取Web应用的HttpServletResponse对象。
static ServletContext getServletContext():获取Web应用的ServletContext对象。
static PageContext getPageContext():获取Web应用的PageContext对象。
ServletRequestAware:实现该接口的Action可以直接访问Web应用的HttpServletRequest实例。
ServletResponseAware:实现该接口的Action可以直接访问Web应用的HttpServletResponse实例。
SessionAware:实现该接口的Action可以直接访问Web应用的HttpSession实例。
ServletContextAware:实现该接口的Action可以直接访问Web应用的ServletContext实例。
3.请求参数的封装:
a)没有实体类:请求参数的封装:
* 属性驱动:
* 没有独立的实体类(动作类和模型数据在一起)
* 它要想封装成功,有如下要求:
* 表单元素的name属性取值必须和动作类中的属性一致(提供get/set方法)
*
* 细节:
* struts2框架默认为我们解决了post请求的乱码问题。
b)有实体类:请求参数的封装:
* 属性驱动:
* 动作类和模型数据分开
* 使用要求:
* 首先动作类中需要提供模型的get/set方法
* 模型中要提供私有成员变量的get/set方法
* 并且这些get/set方法必须和表单的name属性取值能对应上。
c)模型驱动:在Struts2中,Action处理请求参数还有另外一种方式,叫做模型驱动(ModelDriven)。通过实现ModelDriven接口来接收请求参数。
此种封装方式必须按照要求编写代码,要求如下:
1、动作类必须实现ModelDriven接口
2、动作类中需要定义一个模型,并且必须实例化。
3、动作类提供ModelDriven接口中抽象方法的实现,返回模型对象。
注意:使用模型驱动时,get/set方法不是必须的。
动作类:
封装请求参数的第三种情况:
模型驱动
d)属性驱动封装集合数据,对于list和map,新建一个集合进行初始化,提供set/get方法.
name:逻辑视图的名称,对应着动作方法的返回值。默认值是success。
type:结果类型,指的就是用什么方式转到定义的页面。默认是dispatcher。
type的常用取值:
dispatcher:(默认值)
使用请求转发,转向一个页面。
redirect:
使用重定向,转向一个页面。它可以用于重定向到另外一个动作。
redirectAction:
使用重定向,前往指定的动作。
配置全局结果视图:
<package name="myDefault" extends="struts-default" abstract="true">
<global-results>
<result name="login">/login.jsp</result>
</global-results>
</package>
2.使用ServletActionContext:
static HttpServletRequest getRequest():获取Web应用的HttpServletRequest对象。
static HttpServletResponse getResponse():获取Web应用的HttpServletResponse对象。
static ServletContext getServletContext():获取Web应用的ServletContext对象。
static PageContext getPageContext():获取Web应用的PageContext对象。
ServletRequestAware:实现该接口的Action可以直接访问Web应用的HttpServletRequest实例。
ServletResponseAware:实现该接口的Action可以直接访问Web应用的HttpServletResponse实例。
SessionAware:实现该接口的Action可以直接访问Web应用的HttpSession实例。
ServletContextAware:实现该接口的Action可以直接访问Web应用的ServletContext实例。
3.请求参数的封装:
a)没有实体类:请求参数的封装:
* 属性驱动:
* 没有独立的实体类(动作类和模型数据在一起)
* 它要想封装成功,有如下要求:
* 表单元素的name属性取值必须和动作类中的属性一致(提供get/set方法)
*
* 细节:
* struts2框架默认为我们解决了post请求的乱码问题。
b)有实体类:请求参数的封装:
* 属性驱动:
* 动作类和模型数据分开
* 使用要求:
* 首先动作类中需要提供模型的get/set方法
* 模型中要提供私有成员变量的get/set方法
* 并且这些get/set方法必须和表单的name属性取值能对应上。
c)模型驱动:在Struts2中,Action处理请求参数还有另外一种方式,叫做模型驱动(ModelDriven)。通过实现ModelDriven接口来接收请求参数。
此种封装方式必须按照要求编写代码,要求如下:
1、动作类必须实现ModelDriven接口
2、动作类中需要定义一个模型,并且必须实例化。
3、动作类提供ModelDriven接口中抽象方法的实现,返回模型对象。
注意:使用模型驱动时,get/set方法不是必须的。
动作类:
封装请求参数的第三种情况:
模型驱动
d)属性驱动封装集合数据,对于list和map,新建一个集合进行初始化,提供set/get方法.
阅读全文
0 0
- struts2_全局结果视图_参数封装
- 全局结果的视图配置
- Struts2_全局类型转换器
- struts2_请求参数_手动校验(代码校验)
- struts2_请求参数_配置校验(XML配置)
- 设置全局结果视图(Struts框架)
- 【SSH】Struts2学习(二)(待完善)结果视图、访问ServletAPI、数据封装(获取页面参数)、Struts校验
- Struts2_三种传参数方法
- Struts2_三种传参数方法
- Struts2_三种传参数方法
- Struts2_三种传参数方法
- Struts2_三种传参数方法
- Struts2_三种传参数方法
- Struts2_接收参数
- Struts2_三种传参数方法
- Struts2_三种传参数方法
- Struts2_三种传参数方法
- Struts2_参数传值
- 【机器学习技术】高斯过程初探
- linux增删查过的权限
- 如果让我重新读次研究生——王泛森院士[转载]
- lintcode---前序遍历和中序遍历树构造二叉树
- Spring boot 八 service 配置
- struts2_全局结果视图_参数封装
- 团队天梯赛L1-018. 大笨钟
- 随笔:Android中的LinearLayout的baselineAligned属性
- html + ajax 如何实现页面静态化
- 20171107 三个数
- Python 3.6 正则计算器 无优化简单注释版
- C++中的const
- 机器学习十大算法之Adaboost
- Django_模型