Struts2框架学习笔记——02

结果页面配置

1.全局结果页面

  • result标签配置action方法的返回值到不同的路径里面
  • 创建两个action,执行默认的方法execute方法,让两个action的方法都返回success,返回success之后,配置到同一个页面里面
    (1)如果多个action,方法里面返回值相同的,到页面也是相同的,这个时候可以使用全局结果页面配置
    在这里插入图片描述
    (2)在package标签里面配置
    在这里插入图片描述

2.局部结果页面

配置全局页面,也配置了局部页面,最终以局部配置为准
在这里插入图片描述

3.Result标签的type属性

  • result标签里面除了name属性之外,还有一个属性 type属性
    type属性:如何到路径里面(转发还是重定向)

  • type属性值
    (1)默认值,做转发操作,值是 dispatcher 在这里插入图片描述
    (2)做重定向操作,值是 redirect
    在这里插入图片描述
    redirectAction:重定向到action
    在这里插入图片描述

Action获取表单提交数据

  • 之前web阶段,提交表单到servlet里面,在servlet里面使用request对象里面的方法获取,getParameter,getParameterMap
  • 提交表单到action,但是action没有request对象,不能直接使用request对象
  • action获取表单提交数据主要三种方式
    (1)使用ActionContext类
    (2)使用ServletActionContext类

1.使用ActionContext类获取

(1)创建表单,提交表单到action里面
(2)在action使用ActionContext获取数据
在这里插入图片描述

2.使用ServletActionContext类获取

在这里插入图片描述
调用类里面静态方法,得到request对象
在这里插入图片描述

在action操作域对象

  • request、session、servletContext域对象
  • 使用ServletActionContext类操作
    在这里插入图片描述

Struts2封装获取表单数据方式

原始方式获取表单封装到实体类对象
在这里插入图片描述

1.属性封装

1 直接把表单提交属性封装到action的属性里面

2 实现步骤
(1)在action成员变量位置定义变量
 变量名称和表单输入项的name属性值一样
(2)生成变量的set方法(把set和get方法都写出来)
3 使用属性封装获取表单数据到属性里面,不能把数据直接封装到实体类对象里面

在这里插入图片描述

2.模型驱动封装

1 使用模型驱动方式,可以直接把表单数据封装到实体类对象里面
2 实现步骤
(1)action实现接口 ModelDriven
(2)实现接口里面的方法 getModel方法
 把创建对象返回
(3)在action里面创建实体类对象
3 使用模型驱动和属性封装注意问题:
  在一个action中,获取表单数据可以属性封装,使用模型驱动封装,
不能同时使用属性封装和模型驱动封装获取同一个表单数据
如果同时使用,之后执行模型驱动

在这里插入图片描述
注:表单输入项name属性值和实体类属性名一样

原创文章 19 获赞 8 访问量 864

猜你喜欢

转载自blog.csdn.net/qq_41519304/article/details/105623249