|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的),web|下拉|下拉列表总结一下关于web上利用下拉框的情形
从数据库中取得数据List,将数据放到Request内里利用setAttribute(”AList”,AList)
A中有2个属性(Stringid,Stringvalue)
1.利用JSTL的forEach体例
<selectname=”xx”……..>
<c:forEachitems="${AList}"var="p">
<c:choose>
<c:whentest="${xxx==p.id}">
<optionvalue=<c:outvalue="${p.id}"/>selected="selected">
<c:outvalue="${p.value}"/>
</option>
</c:when>
<c:otherwise>
<optionvalue=<c:outvalue="${p.id}"/>>
<c:outvalue="${p.value}"/>
</option>
</c:otherwise>
</c:choose>
<c:forEach>
</select>
2.利用struts的标签
<html:selectproperty=”xxx”>
<html:optionscollection="AList"labelProperty="value"property="id"/>
</html:select>
查一下struts的api文档,能够看到select当选项有3taglib可使用。
第一种间接利用把一切选项写在两头。
<html:optionvalue="0-15">0-15</html:option><html:optionvalue="15-20">15-20</html:option><html:optionvalue="20-30">20-30</html:option><html:optionvalue="20orabove">30orabove</html:option>
第二种:把选项放在一个Collection中(这里利用List).在实践项目中,更多的是大概数据来历于db,文件等。这类情形用得对照多。
<html:optionscollection="AList"property="value"labelProperty="label"/>把option放在list中的历程在Action中作处置//preparetheageselectorlist.ListageList=newArrayList();ageList.add(newLabelValueBean("0-15","0-15"));ageList.add(newLabelValueBean("15-20","15-20"));ageList.add(newLabelValueBean("20-30","20-30"));ageList.add(newLabelValueBean("30orabove","30orabove"));request.setAttribute("AList",AList);
这里利用了LabelValueBean,能够不必的,象
<html:optionscollection="AList"labelProperty="value"property="id"/>
只需在AList中填进的bean有value和id属性就能够
第三种,把此list作为Form的一个属性.
<html:optionsCollectionproperty="AList"/>
在Form中增加AList的setter和getter.Form中作以下处置。
//thelistcanbeaformproperty.
f.setAgeList(AList);
1.从数据库中取得数据,你应当在Action内里获得数据后,将数据放到Request内里
2.数据掏出来后放在一个List或Collection或Map内里,我习气用List
3.从List或别的的容器中取数据应当用<html:options>或<html:optionsCollection>
4.<html:options>和<html:optionsCollection>外层必需用<html:selectproperty="">,以是这个属性你必需在FormBean里界说
5.因为你要用到这些标签,以是你必需界说FormBean
6.从Action取数据,以List为例
Listlist=xxxxx;//从数据库中获得下拉列表中的数据
request.setAttribute("list",list);
在页面显现
<html:formaction="xxxx">...<html:selectproperty="xxx"><html:optionscollection="list"labelProperty="下拉框中显现的内容,通常为name或别的类似属性"property="各选项对应的值,通常为id"/></html:select>...</html:form>
增补一点点:
由于数据你要从数据库往取,以是一样平常在action里挪用DAO,作为request的一个属性传到页面上;这时候一样平常用<html:options.../>标签
别的,假如数据不从数据库往取,而是代码流动的,则一样平常把这类放到ActionForm里,作为属性在页面上取,这时候一样平常用<html:optionsCollection.../>
ruby里有这些工具吗?又要简单多少?我没有用过这两门语言,我估计在这些语言力没有很统一的这种标准,或者根本就没有提供。 |
|