html:optionsCollection

Struts1中的下拉列表标签的使用

页面中经常用到下拉列表,下面是个人对于STRUTS中标签使用的一点总结:

STRUTS中的下拉选择列表标签必须嵌套在<html:form>标签中,包括:

1.<html:select>

2.<html:option>

3.<html:options>

4.<html:optionsCollection>

使用时嵌套如下:

<html:selectproperty="ationForm.property">

<html:option>或<html:options>或<html:optionsCollection>

</html:select>

其中property为ActionForm中对应的一个属性.

1.<html:option>

<html:optionvalue="value">displayName</html:option>

其中value为实际使用的值(赋值到ActionForm对应的属性中)displayName页面中显示的信息.

例:<html:optionvalue=""></html:option>显示一个空白选择,值为"".

2..<html:options>

<html:optionscollection="collection"labelProperty="displayName"property="value"/>

其中collection为一个集合,一般是个ArrayList,displayName为前台显示的名称,value为后台实际使用的值.

例:<html:optionscollection="arrayList"labelProperty="name"property="id"/>

3..<html:optionsCollection>

<html:optionsCollectionproperty="actionForm.property"label="displayName"value="value"/>

其中property为ActionForm中的一个属性,为一个集合.displayName为前台显示的名称,value为后台实际使用的值.

例:<html:optionsCollectionproperty="listProperty"label="name"value="id"/>

补充一点:如果要从数据库去取数据,一般是在action里调用DAO,把结果存入一个ArrayList作为request的一个属性传到页面上;这时一般用<html:options.../>标签.另外,如果数据不从数据库去取,而是代码固定的,则一般把这种放到ActionForm里,作为属性在页面上取,这时一般用<html:optionsCollection.../>

optionsCollection标签用法:

与options标签一样,optionsCollection标签可以从集合或者是包含集合的对象里获得选项的标签/值对。在这两种情况里,集合或包含集合的对象必须是一个作用域对象,否则定制标签将无法访问它。

相关推荐