struts2中获取请求参数 笔记

来源:互联网 发布:淘宝违法判刑大全 编辑:程序博客网 时间:2024/05/22 09:42

属性驱动

直接将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
原创粉丝点击