Struts2框架

day02

(目录)

1、结果页面配置

  1.1 全局结果页面

  1.2 局部结果页面

  1.3 result标签type属性

2、在action中获取表单提交数据

  2.1 使用ActionContext类获取

  2.2 使用ServletActionContext类获取

  2.3 使用接口注入方式获取

3、Struts2提供获取表单数据方式

  3.1 属性封装

  3.2 模型驱动封装

4、Struts2获取数据封装到集合中

  4.1 封装到list集合

  4.2 封装到map集合

5、表达式封装和模型驱动比较

1、结果页面配置

1.1 全局结果页面

如果一个package标签里面有多个action,且方法里面返回值相同,到的页面也相同,这个时候可以使用全局结果页面配置:

使用全局结果页面配置如下:

1.2 局部结果页面

如果既配置了全局页面,又配置了局部页面,最终以局部配置为准

1.3 result标签type属性

  type属性指示的是如何到路径里面去(转发还是重定向)

type的属性值:

(1)默认值:可以不写type属性,默认的是做转发操作,值是:dispatcher

(2)做重定向操作:值是redirect

(当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重 定向后,request内的对象将无法使用。)

上面两个值dispatcher、redirect,这两个值一般针对页面中配置,将页面转到其他的action里面

(1)chain:转发到action,一般不用,因为有缓存问题

(2)redirectAction:重定向到action

2、在action中获取表单提交数据

之前学servlet的时候,提交表单到servlet里面,在servlet里面用request对象里面的方法获取,getParameter、getParameterMap

提交表单到action,但是action没有request对象,不能直接使用request对象

action获取表单提交数据主要有三种方式:

(1) 使用ActionContext类获取

(2)使用ServletActionContext类获取

(3)使用接口注入方式获取

2.1 使用ActionContext类获取

(1)因为方法不是静态的方法,需要创建ActionContext类的对象

(2)这个ActionContext类对象不是new出来的

 

例子:

 

struts.xml里面的配置:

 

2.2 使用ServletActionContext类获取

 

举例:

 

2.3 使用接口注入方式获取(了解)

让action实现接口,为了得到request对象

 

在action操作域对象

request、session、servletContext域对象

使用ServletActionContext类操作

一般request用得比较多,然后session一般用在保留登录状态的情况下,ServletActionContext用得比较少。

未完待续........

原文地址:https://www.cnblogs.com/dorra/p/7744490.html