在 Struts 1 实践过过程中,有一类数据重叠需要注意。在HTML页面中,Radio Button 和Check Box表单元素,自然默认情况下是不被选择的,在form提交的时候并不被提交(可以用工具看到浏览器发送的Post或Get数据)。这么就有一个问题,如果ActionForm是放入Session的,恰巧一个增加页面有一个自然状态下的Checkbox Button被勾选,提交Form后,下一次进入这个增加页面,即使相同的Checkbox Button没有被勾选,提交后的数据在Action看到的ActionForm相应的Checkbox数据是勾选的。为什么呢?原因在于ActionForm存于Session,先前的Checkbox状态已经被置成勾选态,而页面自然状态下Checkbox虽未勾选表示一种数据状态,可是提交时没有它;此时Session中的ActionForm失去数据参照对象,所以相应的Checkbox状态不会被重新设置。
Struts 1中,在Session范围内控件的使用
最新推荐文章于 2018-08-16 20:02:00 发布