精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-11-30
最近在写一个系统中,有一个有下拉列表的修改资料功能,对Struts的html:select进行了运用。 其中怎么样使进入修改页面之后,该下拉列表里的数据是该需要修改的数据列的数据字段,也就是使html:select中显示的值默认对应数据库中的值。测试修改了一个下午,总得不出结果,最后还是看了Struts的examples才算是弄出来了,如: 总结:在使用Struts进行修改功能时,要在修改页面上取的数据库先前的值。只要在form中reset里取得数据库里的值,然后在前台页面里html:form里对应的项设置其property为form中对应的属性值就好了,而不需要再设置value属性了。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-12-06
真正的struts的做法
XXAction{ execute() { request.setAttribute("ids", getNameID()); } private List getNameID() { //load from db ... //make a LabelValueBean List ArrayList ls = new ArrayList(); for() { ls.add(new LabelValueBean(name,id); } } } jsp <html:select property="id"> <html:optionsCollection name="ids" /> </html:select> |
|
返回顶楼 | |
发表时间:2006-12-06
LabelValueBean是struts中的一个类,用来配合html:optionsCollection做显示,这里只展示了一种常用方案,
更多细节请看html:optionsCollection相关文档 |
|
返回顶楼 | |
发表时间:2006-12-06
还加一点,你可能会碰到要多加一个的情况,那么可以这样。
<html:select property="id"> <html:option value="0">无</html:option> <html:optionsCollection name="ids" /> </html:select> 即html:option, html:options, html:optionsCollection这几个标标签可以组合。 看看这样写的结果 <html:select property="id"> <html:option value="0">无</html:option> <html:optionsCollection name="ids" /> <html:option value="0">无</html:option> <html:optionsCollection name="ids" /> </html:select> |
|
返回顶楼 | |
发表时间:2006-12-06
optionsCollection 中的类型也不一定必须是LabelValueBean,
在<html:optionsCollection/>标签中可以指定label和name分别是ListItem的属性名字 |
|
返回顶楼 | |
发表时间:2006-12-07
真的不错
|
|
返回顶楼 | |
发表时间:2007-09-18
如果我要其中一项作为默认值来显示呢
|
|
返回顶楼 | |
发表时间:2007-09-18
如果Select的选项固定,可以直接用Selected标签实现默认值(JAVA代码1) 代码
如果是动态的(JAVA代码2),可以在相对应Action的From中设置默认值(JAVA代码3) java 代码2
java 代码3
js 代码
|
|
返回顶楼 | |
发表时间:2007-09-18
还有,比如楼主的代码 代码
可以在 代码
之间进行判断,像Struts1.X中的 代码
|
|
返回顶楼 | |
发表时间:2007-09-18
<html:select property="Name" name="**Form" value="admin" > <html:options collection="list" property="userName" labelProperty="userName"/> </html:select> 当userName=admin时,默认selected |
|
返回顶楼 | |