Struts2获取表单数据并封装的三种方式,详解版

简单准备

1,
.jsp文件
Struts2获取表单数据并封装的三种方式,详解版
${pageContext.request.contextPath}表示指向了项目的根目录。
2,
action文件
Struts2获取表单数据并封装的三种方式,详解版
实体类
Struts2获取表单数据并封装的三种方式,详解版
3,
struts.xml
Struts2获取表单数据并封装的三种方式,详解版
在jsp中路径写上data3.action 就会找到此被配置中class属性中的文件路径,文件路径是对应的action文件,在action文件中对数据进行封装

一,属性封装

1,直接把表单提交属性封装到action的属性里面
2,实现步骤
(1)在action成员变量位置定义变量
变量名称和表单输入项的name属性值一样
(2)生成变量的set方法(把set和get方法都写出来)
Struts2获取表单数据并封装的三种方式,详解版
注意:变量的名称必须和表单输入项的名称一致
使用属性封装获取表单的数据不可以封装到实体类对象中 所以不推荐使用

二,模型驱动封装(推荐方式)

模型驱动封装之所以推荐,是因为它的操作简单,可以封装到实体类对象中

1,需要实现接口 ModelDriven user是指自己建的实体类。
2.并实现接口中的方法getModel,并把创建的对象返回
Struts2获取表单数据并封装的三种方式,详解版
2. 就是要创建对象,生成对象的set 和get方法

三,表达式封装

Struts2获取表单数据并封装的三种方式,详解版

Struts2获取表单数据并封装的三种方式,详解版
注意:表达式封装中输入项name需要写成 user.username(实体对象名.实体变量名)

四,比较表达式封装与模型驱动封装

属性封装不可以和模型驱动封装一起使用,如果一起使用 只会执行模型驱动封装
1,
表达式封装和模型驱动封装都可以把数据封装到实体类对象里面
2不同点
(1)使用模型驱动封装和表达式封装都可以把数据封装到实体类对象里面
在一个action里面不能使用模型驱动把数据封装到不同的实体类对象里面
(2)使用表达式封装可以把数据封装到不同的实体类对象里面,如第三部分中jsp的书写方式,在action中只需要在创建另一个实体类,并生成它的get set方法即可。