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

java 同时被 2 个专栏收录
19 篇文章 0 订阅
9 篇文章 0 订阅

    在用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 。


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值