Struts2封装获取表单数据

1.原始方式,获取表单数据,封装到实体类对象中


2.属性封装:1.直接把表单提交数据封装到action的属性里面

实现步骤:(1)在action成员变量位置定义变量,变量名称和表单输入项的name属性值一样

(2)生成变量的set方法

范例:public class DataDemo extends ActionSupport{

//1.定义变量,变量名称和表单输入项的name属性值一样

private String username;

private String password;

//2.生成变量的set和get方法

public String execute()thorws Exception{

System.out.println(username+password);

return NONE;

}

使用属性封装,不能把数据直接封装到实体类对象里面。


3.使用模型驱动封装(重点)

使用

模型驱动封装,直接把表单数据封装到实体类对象里面

实现步骤:(1)action实现接口ModelDriven

(2)实现接口里的方法 getModel方法,把创建对象返回

(3)   在acition里面创建实体类对象

范例:

public class DataDemo extends ActionSupport implements ModelDriven<User>{

//1.创建对象,前提要求,表单输入项name属性值和实体类属性值名称一样

private User user = new User();

@Overrider

public User getModel(){

reutrn user;

}

public String execute()throws Exception{

System.out.println(user);

return NONE;

}

注意:使用模型驱动和属性封装要注意的问题:

(1)在一个action里面,获取表单数据可以属性封装,使用模型驱动封装,不能同时使用属性封装和模型驱动,如果使用,

只用模型驱动生效。


表达式封装

实现步骤:(1)在action里面声明实体类

(2)生成实体类的set和get方法

(3)在表单输入的name属性值里面写表达式形式

//1.声明实体类

private User user;

//2.生成实体类变量的set和get方法

public User getUser(){

return user;

}

public void serUser(User user){

this.user = user;

}

username:<input type="text" name="user.username"/>

password:<input type="text“ name="user.password"/>


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

1.使用表达式封装和模型驱动封装都可以封装到实体类里面

2.不同点:

(1)使用模型驱动只能把数据封装到一个实体类对象里面,在一个action里面不能使用模型驱动把数据封装到不同的实体类

(2)使用表达式封装可以把数据封装到不同实体类对象

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一. Java基础部分.................................................
    wy_sure阅读 3,839评论 0 11
  • Struts2_day02 Struts2课程安排 第一天 struts2 入门 2017年10月27日 第二天 ...
    暖熊熊阅读 182评论 0 0
  • 本文包括:1、如何在 Struts2 中使用 Servlet 的相关 API?2、分析 <result> 结果页面...
    廖少少阅读 906评论 3 12
  • 标签 如果要配置的标签,那么必须要先配置标签,代表的包的概念。 包含的属性 name包的名称,要求是唯一的,管理a...
    偷偷得路过阅读 1,401评论 0 0
  • 概述 什么是Struts2的框架Struts2是Struts1的下一代产品,是在 struts1和WebWork的...
    inke阅读 2,277评论 0 50