struts2中获取请求参数 笔记

属性驱动

直接将action做一个model,就可以得到请求参数.

问题:action封装请求参数,会不会存在线程安全问题?
不会:因为每一次请求,都是一个新的action。

缺点:需要单独定义javaBean,将action中属性copy到javaBean中。 
优点:简单。              
这种方式 ,底层是通过反射来实现的。

在action中声明一个model。

private User user;提供get/set方法
在页面上使用ognl来描述
< input type="text" name="user.username">

优点:简单,解决了第一种封装的问题
缺点:在页面上使用了ognl表达式,页面不通用了。
问题:这种方式,数据是怎样封装的?
是通过struts2中的interceptor进行了数据封装.
<interceptorname="params"class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>

模型驱动

步骤:
    1.让action类实现ModelDriven
    2.重写getModel方法
    3.在action中实现化一个model对象,让getModel方法返回这个对象。
public class Login3Action extends ActionSupport implementsModelDriven<User> {
    private User user = new User();
    public User getModel() {
        return user;
        }
}
优点:解决了属性驱动存在的问题
缺点:一次只能封装一个model对象.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值