struts表单数据获取方式

strus2中获取表单数据有两种方式属性驱动和模型驱动,属性驱动即使用Action的属性元素封装请求参数,而模型驱动是使用javaBean来封装来回请求参数。

一、属性驱动就是使用属性的setter和getter方法获取参数

属性驱动,我们需要在Action中定义与表单元素对应的所有的属性,因而在Action中会出现很多的getter和setter方法,使得Action代码量增加了很多,而且不利于封装和继承,模型驱动使得Action更加简洁,可以使Action更加专注于是控制业务逻辑。

其中属性驱动有两种使用方式:

1、直接使用form表单中的name的setter和getter方法获取参数

2、使用实体映射提交

1、创建一个实体类;

2、在表单中使用 "实体类名称.实体类属性" 来进行对表单的命名(实体名称要和action中创建的实体类的名称相同,例如action中创建 private User u; 那么表单中对应的实体类名称为 u)

3、在action中创建该实体类的setter和getter方法。

4、action中取到该对象则为u.getName();

二、模型驱动就是就是让action实现com.opensymphony. xwork2.ModelDriven接口

ModelDriven接口中只有一个方法:public T getModel();

 在action中也不需要为这个模型对象提供JavaBean风格的getter和setter方法。但是必须要在action中进行new操作,ModelDriven要使用泛型
下边是一个例子:
public class LoginAction implements Action,ModelDriven<User>
			private User user = new User();
		 @Override
		public String execute() throws Exception
		{
		执行你的逻辑代码
		}
 		@Override
		public User getModel()
		{
		return user;
		}
	}
对于jsp页面上写的时候就按原来的写法即可,不需要使用类似于 student.sname 的表单写法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值