葵花宝典 九 Struts 2

struts2中获取请求参数
1.属性驱动
1.直接将action做成一个model,就可以得到请求参数
问题1.action封装请求参数,会不会存在线程安全问题
不会,因为每一次请求,都会是一个新的action
缺点:需要单独定义javabean
优点:简单
底层通过反射来实现的

2.在action中声明一个model
private User user;
提供get.set方法

在页面上使用ognl来描述
有点:简单解决了第一种封装的问题
在页面上使用了ognl表达式,页面不通用了
问题:这种方式是如何封装的
是通过struts2中的拦截器进行封装的

模型驱动
步骤: 1.让action类实现modelDriven
2. 重写getModel方法
3. 在action中实例化一个model对象,让modelDriven方法返回这个对象
优点:解决了属性驱动存在的问题
缺点:一次只能封装一个model对象

扩展:将数据封装到list
1.将数据封装到List集合
页面:
username1:
password1:

            username2:<input type="text" name="users[1].username"><br>
            password2:<input type="password" name="users[1].password"><br>

        action类:
            private List<User> users;
            get/set方法

2.将数据封装到Map集合
页面:
username1:
password1:

            username2:<input type="text" name="map['bbb'].username"><br>
            password2:<input type="password" name="map['bbb'].password"><br>

        action类:
            private Map<String, User> map;
            提供get/set

这里写图片描述

这里写图片描述

http://blog.csdn.net/wangyanming123/article/details/52771769
三种获取属性驱动的方式详解

这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值