struts2获取前台传递过来的数据的三种方式

struts2获取前台传递过来的数据可以通过属性驱动模型驱动两种方式获得。

属性驱动

1、使用变量的方式

前台:

action:

action中要获得前台传递过来的account和password两个参数的数据。那么就必须在action中设置和前台name属性值同样名称的变量。同时必须设置get、set方法。这样在访问action的过程中,struts会自动的为action中的这两个变量设置前台传过来的值
也就是说把参数作为Action的类属性,并且提供属性的get、set方法时,xwork的OGNL会自动的把request参数的值设置到类属性中,此时访问请求参数只需要访问类属性即可。
2、使用对象的方式
使用变量的方式会有一个缺点,就是当你的表单要传递的数据量非常多的时候,好几十个,你不可能在action中定义好几十个变量,并且设置它们的get和set方法吧。
这个时候我们就需要通过在action中设置一个module对象即实体对象,并且设置这个对象的get、set方法即可。
前台:这里的要传递的参数的name属性值必须通过变量.属性值的形式进行设置才可以获得到

user类:

action:

可以发现,我们前台页面的name属性值都变成了user.account和user.password,我们通过前台传递过来的user对象在action界面得到对应的属性值。通过封装的方式来实现前台的值传递到action

模型驱动

需要当前action实现com.opensymphony.xwork2.ModelDriven接口,并重写 getModel方法才能获取表单中的封装对象。并且声明对象的时候一定要实例化,但不需要get和set方法。
前端界面:可以发现name属性可以直接指定对象的属性值,并且必须对应才可以获得到。

action:需要初始化user类,不需要set和get方式即可

转载自: https://blog.csdn.net/qq_36748278/article/details/78009327

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值