有一个Jsp,提交之后,在action中检查业务逻辑之后返回运来的Jsp。因为是在Session范围里的,所以form里的状态可以保存。但是jsp页面里有一个CheckBox,非常怪异。
如果不选中它,提交之后处理完回到本页面时,CheckBox的状态 可以保留;
如果 选中它,提交之后处理完回到本页面时,CheckBox的状态也可以保留;
但是在选中的状态下提交,并回到本jsp页面以后,无论是否取消选中,CheckBox会自动被设置为选中,不能被去掉。
在form里这个CheckBox是以String类型保留的。
如果在action中加入这样一段代码就可以解决问题,
if ("on".equalsIgnoreCase(request.getParameter("viewState"))){
((CYU004001frm) form).setViewState("on");
}
else{
((CYU004001frm) form).setViewState("");
}
但是其他的输入项都不需要这种操作。不知道是什么愿因?
不知哪位高手可以解答,不胜感激。
7 个解决方案
#1
up
#2
你也碰到过这样的问题?
#3
没人理,555
#4
但是在选中的状态下提交,并回到本jsp页面以后,无论是否取消选中,CheckBox会自动被设置为选中,不能被去掉。
你这个回是怎么个回法?浏览器的前进与后退吗?
你这个回是怎么个回法?浏览器的前进与后退吗?
#5
在Form里的reset方法里,把boolean的值设成false
#6
你的Checkbox使用Html:MultiBox标签了吗?
我使用标签,进行操作都正确的。
我使用标签,进行操作都正确的。
#7
应该是象 toplchx 说的
我看书上也这么写,在ActionForm 的reset方法中设置checkbox对应属性为false
因为只有选中的checkbox才会放在请求中发送,如果没有在reset中设置false,起初没有被选中的checkbox不会被相应的参数返回到页面中显示,所以返回的时候值为true是可能的
我看书上也这么写,在ActionForm 的reset方法中设置checkbox对应属性为false
因为只有选中的checkbox才会放在请求中发送,如果没有在reset中设置false,起初没有被选中的checkbox不会被相应的参数返回到页面中显示,所以返回的时候值为true是可能的
#1
up
#2
你也碰到过这样的问题?
#3
没人理,555
#4
但是在选中的状态下提交,并回到本jsp页面以后,无论是否取消选中,CheckBox会自动被设置为选中,不能被去掉。
你这个回是怎么个回法?浏览器的前进与后退吗?
你这个回是怎么个回法?浏览器的前进与后退吗?
#5
在Form里的reset方法里,把boolean的值设成false
#6
你的Checkbox使用Html:MultiBox标签了吗?
我使用标签,进行操作都正确的。
我使用标签,进行操作都正确的。
#7
应该是象 toplchx 说的
我看书上也这么写,在ActionForm 的reset方法中设置checkbox对应属性为false
因为只有选中的checkbox才会放在请求中发送,如果没有在reset中设置false,起初没有被选中的checkbox不会被相应的参数返回到页面中显示,所以返回的时候值为true是可能的
我看书上也这么写,在ActionForm 的reset方法中设置checkbox对应属性为false
因为只有选中的checkbox才会放在请求中发送,如果没有在reset中设置false,起初没有被选中的checkbox不会被相应的参数返回到页面中显示,所以返回的时候值为true是可能的