该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-27
选择标签: 必须是select与其他标签如:option,options和optionsCollection配合使用 <html:select property="selectedCareers" multiple="true"> <html:optionsCollection name="tagInfo" property="careers" value="id" label="value" filter="false"/> </html:select> Select标签里的property与ActionForm的selectedCareers绑定,它表示用户已经选择过的选项,可以是一个(selectedCareers是个String)或多个(selectedCareers是个数组)。Multiple属性表示这个选择列表render出来以后是否允许多选。ActionForm里相对select控件的属性,是单值还是数组类型,就是由这个multiple属性所决定的。如果select tag里的property的值与optionsCollection tag里的value的值一样的话,该选项当页面初始化的时候就会被选中,selected="selected"会被插入html代码。
optionsCollection标签表示选择列表里面的选项。它与ActionForm没有关系。它里面的值是由在可用范围里的一个叫tagInfo的对象决定的。Property则表示是tagInfo的哪个属性(该属性应该是一个集合类型)。Value表示选项的值(即被提交的值)与tagInfo对象的careers属性的id属性相对应。Label表示选项的文本,与tagInfo对象的careers属性的value属性相对应。
其实也是两个数组的嵌套,这与MultiBox标签很相似,只不过MultiBox标签外层是所有可选项,内层是以被选过的项,而Select标签则恰恰相反。
Filter属性表示是否对label里面的内容进行HTML敏感字符过滤。比如内容中含有<b> 如果要过滤(true,也是default设置),则生成的html代码为:<b> 若不要过滤(false) ,则生成的html代码为:<b> 过滤后将字符完整打出来,不过滤则将字符隐藏并生成其应有效果。
<html:select property="selectedCareer" size="3"> <html:option key="opt.eg1" value="1" bundle="extended"/> <html:option key="opt.eg2" value="2" bundle="extended"/> <html:option key="opt.eg3" value="3"/> </html:select> 这个例子表示静态从资源文件中取出信息赋给选项。资源文件中key所对应的value将成为选项的label,而option 的 value属性表示提交的值。
<html:options collection="options" 必须是在可用范围内的一个集合类型对象 property="id" 集合中单个元素的属性,将会是选项的value,用于提交 labelProperty="value"/>集合中单个元素的属性,用于显示 也可以用options标签来输出多个选项,但没有optionsCollection用起来简单,且不能满足可用范围内的对象不是集合类型的情况。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2561 次