• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Struts html:checkbox框初始默认是选中的解决方法

    在使用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页面
    复制代码 代码如下:

    html:checkbox property="id">CheckBox/html:checkbox>

    如同:input type="checkbox" name="id" checked="checked">CheckBox/input> or input type="checkbox" name="id">CheckBox/input>
    具体业务在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标签就行了
    html:checkbox property="syaken"/>
    但问题是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的属性值:
    html:checkbox property="syaken"/>nbsp;
    input type="hidden" name="syaken" value="false">

    您可能感兴趣的文章:
    • struts2+spring+hibernate分页代码[比较多]
    • jsp struts1 标签实例详解
    • 搭建EXTJS和STRUTS2框架(ext和struts2简单实例)
    • 如何用struts调用支付宝接口
    • 关于Struts2的类型转换详解
    • ajax+json+Struts2实现list传递实例讲解
    • Java(基于Struts2) 分页实现代码
    • 使用maven+eclipse搭建struts2开发环境
    • struts2单个文件上传的两种实现方式
    • struts2中一个表单中提交多个请求的例子(多个提交按钮)
    • struts2+jquery实现ajax登陆实例详解
    • java中struts2实现文件上传下载功能实例解析
    • java中struts 框架的实现
    • java中struts配置
    上一篇:如何解决在jsp页面上导入.xls文件报错问题
    下一篇:通用弹出层页面(兼容IE、firefox)可关闭控制宽高及屏蔽背景
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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