strut的reset方法是用来清空数据的。你却用来初始化数据,难怪会出错。
你应该在页面初始化的时候读取相应的数据,reset方法中只清空数据。就可以了。你出现这个问题的关键就在于你没有正确理解reset方法的调用顺序:
1。如果没有form,new一个新的form之后会调用reset方法。
2。在构建每一次递交数据的form时,struts调用相应的reset方法。
3。checkbox本身比较特殊-->如果没有数据输入就不会产生递交信息。这下明白了吧,你把初始化数据写在reset方法中,递交页面时struts先调用了reset方法初始化了数据,而恰好用户没有选中所有的checkbox这将会不产生递交数据的动作,因此数据仍然是最初的值。