struts1.x的那些html标签,如何在编辑时实现回显?
如果它的标签只能用来生成HTML的表单,我感觉用处并不大,不知道在编辑时如何方便的实现数据回显。
[b]问题补充:[/b]
也可能我没有说明白。不过现在的人都喜欢教训人,乐此不疲。呵呵。
我的意思是对于像checkbox group, select这种复杂的表单元素,如果你在编辑时,如何让它们显示出在状态来。比如你在数据库中是有状态的,那编辑时如何把这些状态带到这种复杂的表单中来。
上面打错了
应该是 name="[b]allOptions[/b]"
随便买本书,或者找个例子
就知道了。
表单标签跟form绑一起用,在辑的时候 如果你校验失败,自动就回显的。
在你修改的时候,只要BeanUntils.copyProperties(obj,form);就ok了。
当然前提是你的form的属性和obj的属名能对应上。
顺便说一句,哥哥,这种问题实在没有必要拿出来说,
你都能想到的问题,人家设计struts的人能想不到?
struts真像说的那么失败,能火这么久吗?你说呢?
哎,看到‘乐此不疲’四字打消了我回答此问的心情。
当然你可以认为我不会。
刚刚做过个例子就是你所说的这种情况。
我就拿html:select/标签来说吧。
情况是这样,当你到达jsp页面的时候,该select标签,需要有2个功能,
1。显示所有可选择的项目,举个例子,这是个"hobby"选项,所有的可选项有4个
"music","sports","reading","writing"
2。如果该页面是针对某用户的,比如是个user profile edit页面,用户曾选过的项目比如说是"music"(也可是多项)。那么该标签应该将这些用户选过的项目highlight。
具体做法很简单,就是在进入该page前的Action类里面,定义2个数组
1。array1 表示所有可供选择项,从数据库得
2。array2 表示用户曾选过的项,从数据库得
把array1添加进request scope,可以用
request.setAttribute("allOptions",array1)。
然后,把array2绑定到和formbean中与该select标签对应的属性/字段上,比如该字段叫selectedOptions
最后在jsp页面,
name="[b]selectedOptions[/b]">
/html:select
这样就能实现你所说的效果,当然这是最简单的。你还可以将select标签的value和label相分离,这就需要多看一下该标签的API doc了。