手机
当前位置:查字典教程网 >编程开发 >JSP教程 >Struts html:checkbox框初始默认是选中的解决方法
Struts html:checkbox框初始默认是选中的解决方法
摘要:在使用struts标签html:checkbox的时候,如何让checkbox框默认是选中的,一般情况下都是当Formbean里面该Prop...

在使用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"/>

<input type="hidden" name="syaken" value="false">

【Struts html:checkbox框初始默认是选中的解决方法】相关文章:

关于JSP中文问题的解决方法

Java Web项目中连接Access数据库的配置方法

打开页面就是全屏的方法

GET方法URL中传递中文参数乱码的解决方法

jsp中文乱码 jsp mysql 乱码的解决方法

基于jsp:included的使用与jsp:param乱码的解决方法

jsp下显示中文文件名及绝对路径下的图片解决方法

访问JSP文件或者Servlet文件时提示下载的解决方法

JSP代码运行错误的问题及解决方法

struts2中action实现ModelDriven后无法返回json的解决方法

精品推荐
分类导航