struts2结果页面配置与表单数据的操作
Posted 软软爱Java
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2结果页面配置与表单数据的操作相关的知识,希望对你有一定的参考价值。
结果页面配置:
全局结果页面:
-- result标签里面配置action的方法的返回值到不同的路径;
-- 如果多个action,方法里面返回值是相同的,访问的页面也是相同的,这个时候使用全局结果页面配置;
局部结果页面:
-- 如果既配置了全局的,也配置了局部的,那么最终的以局部的配置为准;
result标签中的type属性:
-- result标签中除了name属性,还有一个type属性;
1):type属性:表示如何到路径里面(转发还是重定向);
-- type属性值:
1):默认值(dispatcher),做转发操作;
2):redirect,做重定向操作;
以上的两个值是一般是针对到页面中的配置,在开发中我们也会配置到其他的action里面,就是用下面的值:
1):chain:转发到action;(因为有缓存问题,所以一般不用);
2):redirectActioin:重定向到action;
action获取表单提交数据
action获取表单提交数据主要有三种方式:
-- 1:使用ActionContext类;
-- 2:使用ServletActionContext类;
-- 3:使用接口注入的方式;(这种方式写法比较麻烦,所以一般不用)
在action中操作域对象;
-- request , session , servletContext;
-- 使用ServletActionContext类操作:
Struts2 封装的获取表单数据的方式;
原始方式获取表单数据封装到实体类中:
struts2帮我们封装了获取表单数据的方式:
1:属性封装
-- 直接把表单提交的内容封装到action的属性中:
-- 实现步骤:
1):在action成员变量的位置定义变量,变量的名称和表单输入项的name属性值一样;
2):生成变量的set跟get方法;
-- 使用属性封装只是获取到数据方法属性中去,并不能把数据直接封装到实体类对象中;
2:模型驱动封装
-- 使用模型驱动方式,可以直接把表单提交数据封装到实体类对象中;
-- 实现步骤
1):action实现接口 ModelDriven;
2):实现里面的getModel方法;把创建的对象返回;
3):在action里面创建实体类对象;
-- 使用模型驱动和属性封装是需要注意的问题;
1):在一个action中,不能既使用属性封装个,又使用模型驱动封装获取同一个表单数据,如果同时使用,只会执行模型驱动封装;
3:表达式封装
1):在action中生命实体类;
2):生成实体类变量的set,get方法;
3):在表单输入项的name属性值里面写表达式的形式;
-- 比较表达式封装和模型驱动封装;
相同点:使用这两种封装方式,都可以把表单提交的数据封装到实体类对象中;
不同点:1):在一个action中,不能使用模型驱动把数据封装到不同的实体类对象中;
2):使用表达式封装,可以把数据封装到不同的实体类对象中;
获取表单数据封装到集合中;
-- 封装到list集合
1):在action中生命list;
2):生成list变量的get,set方法;
3):在表单输入项中写表达式;
-- 封装到map集合;
1):声明map方法;
2):生成get,set方法;
3):在表单输入项中写表达式;
以上是关于struts2结果页面配置与表单数据的操作的主要内容,如果未能解决你的问题,请参考以下文章
struts2-环境搭建-访问流程-配置详解-常量配置-类详解