当前位置:  编程技术>java/j2ee

Struts html:checkbox框初始默认是选中的解决方法

    来源: 互联网  发布时间:2014-10-18

    本文导语:  在使用struts标签html:checkbox 的时候,如何让checkbox框默认是选中的,一般情况下都是当Formbean里面该Property的值和标签上value给定的值相等的时候,生成的jsp页面上才是选中的。 在Struts中几种情况可以使标签初始就是选中的,Formb...

在使用struts标签html:checkbox 的时候,如何让checkbox框默认是选中的,一般情况下都是当Formbean里面该Property的值和标签上value给定的值相等的时候,生成的jsp页面上才是选中的。

在Struts中几种情况可以使标签初始就是选中的,Formbean里面该Property的值设为 1.on 、2.yes 、3.true 这三种情况都是可以实现默认选中的。

注:如果不选中,最好把Property的设置为"",因为在Action中得到Property是为null值,在不太注意的情况,它是会出现异常。

代码如下:

public class CheckBoxForm extends ActionForm {
// private String id = "";
private String id = "on";
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}


jsp页面
代码如下:

CheckBox

如同:CheckBox or CheckBox
具体业务在Action里去作处理,"".equals(actionForm.getId()) or "on".equals(actionForm.getId()) 一个是判断没有选中,一个是判断选中,如果在ActionForm里没有设置property,那就要用null去作判断。

1)需求:
当通过菜单进入页面时,页面中的checkbox处于被选中状态,页面提交后forward回本页,对应的checkbox保持提交时的状态,也就是说:如果提交时checkbox是选中状态回来仍然是选中状态;如果用户在提交前将checkbox的勾去掉,回来时checkbox应该为为选中状态。

2)问题:
这个需求看起来很简单,只需要
1)在对应的form中将checkbox对应的属性设为true就行了:
private boolean syaken = true;
2)在对应的jsp中使用html:checkbox标签就行了

但问题是checkbox标签不会去set初始化值为true的checkbox属性,不赋初值时Struts默认赋为false;
从网上找资料有人说可以实现ActionFrom的reset()方法将对应的属性值设为false,但reset方法是在form实例化以后被调用的,也就是说你初始化的值true将被重置为false,这和直接将属性值设为false没有任何区别,这样做的结果是你从菜单进入页面时checkbox是处于不被选中的状态。
他们之间存在着矛盾,问题的关键就是每次提交时,Struts并没有去重新设置所有checkbox的属性值,而是有选择地(初始化值为false)地进行重新设置。

3)解决办法:
超级简单,在checkbox后面添加一个和checkbox的属性同名并且value为“false”的隐藏输入框,强迫Struts去重新设置checkbox的属性值:
 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • Struts2增强版 Struts+
  • Eclipse的Struts插件 Struts Console
  • Eclipse的Struts开发插件 NitroX Struts IDE
  • Struts改进框架 XView4Struts
  • Struts验证码插件 JCaptcha4Struts2
  • Eclipse开发Struts的插件 Struts-It
  • 真诚的想交几个正在学struts和已经能熟练使用struts的朋友,留下mail好么?来者有分!!
  • Struts如何安装?
  • struts4php
  • Struts-Layout
  • Struts Menu
  • 为什么我的struts-examples.war不能用!!!!
  • 谁有struts的成功例子,可以分享一下?
  • 谁用过struts? 请教
  • Struts Wrapper
  • Eclipse的Struts插件 EasyStruts
  • Struts2的插件 LightURL
  • 有谁用过Struts?
  • 有关struts的讨论 进者有分
  • 求教高手struts开发中遇到的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3