【转帖】Struts的html:checkBox标签超郁闷的问题本篇文章来
来源:互联网 发布:像素软件 新三板 编辑:程序博客网 时间:2024/05/21 14:07
Struts的html:checkBox标签超郁闷的问题时间:2010-01-21 10:45:01来源:网络 作者:未知 点击:620次
被Struts的html:checkBox标签使用的小问题郁闷了两天,今天终于找到了解决的办法。如果大家也遇到同样的问题,可以参考。
被Struts的html:checkBox标签使用的小问题郁闷了两天,今天终于找到了解决的办法。如果大家也遇到同样的问题,可以参考。
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的MVC模式,解决方法更为简单,逻辑也更为清晰。Jsp->ActionForm->Action。Form里有对应的属性sysken,你可以按你的需要在这个类里预设属性的默认值。在Action里面,你取得这个Form后,可以显式地用set方法设置返回到页面时这个属性的值,然后能过request.setAttribute("FormName",form)类似的方法设置一下,再return到你所指向的Forward不就行了吗。就这么简单。这样做更符合MVC的思想。
本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2010/0121/19983.php
- 【转帖】Struts的html:checkBox标签超郁闷的问题本篇文章来
- Struts的html:checkBox标签超郁闷的问题
- Struts的html:checkBox标签超郁闷的问题
- Struts的html:checkBox标签默认选中
- struts标签html:checkbox
- struts标签html:checkbox
- struts checkbox 标签 选中与不选中的使用问题
- 用JavaScript来验证Struts的html页面标签
- 郁闷人的checkbox透明问题
- struts的html:select标签和html的select问题
- [VB.NET]急!!!WebBrowser的问题,超郁闷,麻烦大家来帮帮忙
- 本篇文章主要讲述的是angluar中如何运用路由来跳转页面
- struts的html标签库
- Struts复习 Struts的HTML标签
- Struts Html:Checkbox 标签使用技巧
- html table宽度设置,本篇方法成功解决了我徒手写html的问题
- 用JS(JavaScript)来进行对Struts的Html:checkbox或者html:multibox进行全选、及其他控制
- struts标签的disable问题
- 哈哈
- 最佳的七十五个网络分析和安全工具
- JSP标准标记库
- 内存泄露检测方法
- 数据库快照
- 【转帖】Struts的html:checkBox标签超郁闷的问题本篇文章来
- 求人办事的技巧
- 插入排序
- PE文件解析(C#)
- 线程间通讯
- 本地文件操作(删除和取得文件大小)
- 系统服务编程
- [解决方案] Error 0x80040609 - Windows Live Essentials beta 安装失败
- JAVA中protected属性和方法测试