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方法设置返回到页�
相关文档:
首先,我们来看下如下的代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT=& ......
作者:fbysss
msn:jameslastchina@hotmail.com
blog:blog.csdn.net/fbysss
声明:本文由fbysss原创,转载请注明出处
关键字:src属性为空
背景
基于Spring MVC。
同事在对一个Controller进行debug的时候,发现页面只有一个刷新请求,而公共入口方法重复进� ......
1、文本标签(命令)
<pre></pre> 创建预格式化文本
<h1></h1> 创建最大的标题
<h6></h6> 创建最小的标题
<b&g ......
总类(所有HTML文件都有的)
文件类型 <HTML></HTML> (放在档案的开头与结尾)
文件主题 <TITLE></TITLE> (必须放在「文头」区块内)
文头 <HEAD></HEAD> (描述性资料,像是「主题」)
文体 <BODY></BODY> (文件本体)
结构性定义(由浏览器控制的显示风格)
标 ......
WinCE 界面开发:使用HTML Viewer Control
by cheungmine 2010-1
在Win32平台上用 C++做界面开发确实是很吃力的活。无论使用MFC还是ATL或者WTL都是很痛苦的。通常引入HTML控件,可以做出类似网页效果的精美布局。在传统的Windows应用程序中使用Web控件已是大势所趋,大大简化工作量。但是在WinCE平台上,做同样的事情,往� ......