『黑马程序员济南』JavaEE就业笔记串讲--Struts2框架-part2
在action获取表单提交数据
使用ServletActionContext类获取
1 直接调用ServletActionContext类里面的静态方法实现操作
2 使用表单post提交中,在struts2的action获取数据不会有乱码问题
(1)struts2有常量设置
3 在action操作域对象
结果页面配置
全局结果页面
1 创建两个action,执行默认的方法 execute方法,默认方法都返回success
(1)配置两个action,两个action执行execute方法,两个action的execute方法都返回success,返回之后都到form.jsp页面中,这样写功能没有问题,造成有很多重复配置,使用全局结果页面操作
2 具体配置
(1)action标签所在的package标签里面
(2)使用global-results进行配置
局部结果页面
1 局部结果页面:在action标签里面写result标签进行配置
2 如果配置全局,也配置了局部,最终以局部为准
result标签的type属性
1 result标签作用:在action标签里面配置action的方法返回结果到路径
2 result标签里面有name属性,和方法的返回值一样,进行配置
3 result标签里面有属性 type
(1)type属性作用:因为result标签配置到路径,type属性表示配置如何到路径中(重定向和转发)
(2)type属性值有很多
- 默认值:不写就是这个值,表示转发操作,dispatcher
- 表示重定向操作,redirect
-- 上面的两个值dispatcher、redirect这两个值表示配置到不同的 页面 中
Struts2封装数据操作
属性封装
1 把表单提交数据,封装到action里面的属性中
2 具体实现
(1)在action里面定义成员变量
- 成员变量名称和表单输入项的name属性值一样
(2)生成定义的变量set和get方法
模型驱动封装(重点)
1 使用属性封装,把数据封装到action里面的属性中,不能直接把数据封装到对象里面
2 使用模型驱动封装:把直接把表单提交数据封装到实体类对象里面
3 具体实现
第一步 让action类实现接口 ModelDriven
(1)ModelDriven<封装实体类名称>
- dbutils: new BeanHandler<User>(User.class)
第二步 实现接口里面的方法
(1)getModel方法
第三步 在action的成员变量位置,手动创建实体类对象
注意问题
1 在一个action中获取同一个表单提交数据,
(1)可以使用属性封装,可以使用模型驱动,但是这两种方式不能同时使用,
(2)如果同时使用,只会使用到其中的一种,使用模型驱动。
Struts2封装复杂数据
封装数据到List集合
1 写表单,提交表单之后,把数据封装到action里面list集合中
2 具体实现
第一步 在action里面声明list集合变量,生成get和set方法
第二步 生成list变量的set和get方法
第三步 在页面的表单里面写法
封装数据到Map集合
1 map集合结构 key-value结构
2 实现步骤
第一步 声明map集合变量
第二步 生成map集合变量的set和get方法
第三步 在表单输入项的name属性值写操作
使用属性封装数据到对象
第一步 在action声明变量,这个变量是实体类变量
(1)private User user;
第二步 生成变量的set和get方法
第三步 在表单输入项里面写表达式
点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈
|