Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1979983
  • 博文数量: 221
  • 博客积分: 10045
  • 博客等级: 上将
  • 技术积分: 2252
  • 用 户 组: 普通用户
  • 注册时间: 2005-01-25 20:28
文章分类

全部博文(221)

文章存档

2012年(1)

2008年(4)

2007年(11)

2006年(26)

2005年(179)

我的朋友

分类: Java

2006-01-04 22:40:52

昨天,一个小问题困扰了我一个整天就是这个multibox

画面上有一排mulitbox,当用户选择了某个或者某些复选框,

然后再取消所有选择的复选框,也就是说当浏览器发送请求的时候

应该是在actionForm中获取到的mulitbox应该是一个空的数组

然而实际情况呢?

当然不是空数组,不然就没有必要发这个邮件了。

个人认为这个是struts的一个bug

struts的官方网站查到了问题所在:

WARNING: In order to correctly recognize cases where none of the associated checkboxes are selected, the ActionForm bean associated with this form must include a statement setting the corresponding array to zero length in the reset() method.

可见不是我一个人遇到这种问题。

解决这个问题必须重写formreset()方法。把相应的数组长度置0

虽然这个方法可以解决什么都不选的情况。

但是当页面跳转以后在返回本页面就记录不住Httprequest之前的状态了

现在临时的解决办法是在跳转页面之前

重写的reset()方法不会执行,只有在页面跳转以后才会执行reset()方法。

所以在执行reset()方法之前保存mulitbox的状态

在下一次跳转回来的时候再把mulitbox的状态还原。

 

这是一个小问题,可是有时候小问题也很烦人。

陆亚伟认为这个不是一个好办法,可是本人只能想到这个破方法。

如果大家有什么别的想法,欢迎讨论。

 

共同进步。

 

PS:由于涉及到multibox的人不多,所以对大家可能没有用处。本人本着共同学习的出发点,交流。

也希望大家多发实用帖子。

阅读(1945) | 评论(2) | 转发(0) |
0

上一篇:苦還是樂----程式

下一篇:再谈Multibox

给主人留下些什么吧!~~