Struts2获取不到form表单数据的问题

    在用SSH框架做开发时,其中用Struts2接收form表单数据时只能接收到username值,而不能接收到password的值!当时一直在找问题的原因在哪,最后在action类中看到全局私有属性只生成了set 方法。然后试着重新生成相应的set 、get方法,竟然可以了!  为什么加上属性的get方法就可以了?只使用set方法注入对象不也是可以吗?无奈回去查笔记,才想起在Struts2的属性驱动中,规定了action类中的全局私有属性(对应Form表单中的属性值)必须提供set以及get方法! 我之前是受到了spring框架的影响(认为属性用set方法注入对象就行)。

    顺便也总结一下用struts2接收Form表单数据的常用几种情况:

  1. 如果只是接收表单中的一两个属性值时,可以在action类中声明同名的全局私有属性,并且提供相应set以及get方法;
  2. 当有多个属性时,可以把属性封装到一个pojo类中,然后再在action类中声明一个pojo类的全局属性并提供set、get方法,通过对象.属性名的方法来获取数据;
  3. 当要获取多条数据时,在action类中声明List集合对象,把pojo类对象放进List集合中,在form表单提交时属性值用集合名称加上相应的集合下标[n],如:user[0].username 。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值