工作中遇到的struts前台验证出错后request内容丢失,网上搜索到的方法

 Indexed properties are challenging to work with if the ActionForm is scoped to request. The problem is that once the page is sent to the browser, the nested properties of the ActionForm bean are all gone. When the user submits the page, Struts instantiates the ActionForm, but all the nested properties you so carefully placed in the bean before the page was displayed aren't there anymore.

Obviously, it's easier to just declare the ActionForm in session scope, but if you're concerned about not putting too much data in your HttpSession, there is still a workaround.

Here's the workaround that I sometimes use:
  • Save the minimal information you might need to reconstruct the beans or lists of beans in your ActionForm, such as the length of the List.
  • Override the reset() method in your ActionForm to get this information from the HttpSession, and then reconstruct the nested beans. The properties of the beans can still all be blank, but the beans have to be instantiated. Struts calls the reset() method of the ActionForm before trying to populate its' properties, so if you do this, all the beans needed by the indexed getters and setters will be there when the accessor mehtods are called
  • Use hidden fields in your JSP for information that needs to be in the bean, but isn't displayed on the page.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值