先来看一下简单的使用:
1 静态生成
<s:select name="user.sex" list="#{'0':'男','1':'女'}" label="性别" headerKey="" headerValue="请选择性别"></s:select>
注解:这里从页面来静态(也就是在页面中写死啦)构造下拉选项,关键点是list=”#{‘0’:’男’,’1’:’女’}” 通过它实现的select的两个option 。headerKey指定缺省的选项“value”,headerValue指定缺省的选项“text”。
2 action传递list过来
<s:select label="用户" name="user" list="userList" listKey="id" listValue="name" />
注解:这里通过一个list类型的对象来动态生成一个下拉列表。list=”userList”表示action里有一个list类型的userList属性。listKey=”id”表示当前option的value从userList里的当前User对象的id属性取值。listValue=”name”表示当前option的text从userList里的当前User对象的name属性取值。
我们再来深如研究一下struts2的select标签中,常用属性:
(1)list:创建列表的可迭代数据源, 必设项(list必须有值,如果没值则必须设置headerKey, headerValue)。如果该列表是一个Map(key, value), 那么Map的主键将作为选项()的”value”属性, 而该主键对应的值作为选项的文本内容.是必须设置的选项,如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。
(2)headerKey:设置列表的题头主键值. 一定不能为空值! “’-1’”或”””是正确的取值, “”是错误的取值。
(3)headerValue:列表的题头选项值。
(4)listKey:列表数据源中元素对象的属性, 用于获取选项的值,对应于select标签中的value。
(5)listValue:表数据源中元素对象的属性, 用于获取选项的文本内容,对应于select标签中的option。
(6)name:元素的名字。
详情参见下面这个表:
http://www.cnblogs.com/bmbm/archive/2011/12/21/2342253.html
接下来,来看看一个小demo:
<s:select name="role" value="roles" multiple="true"
listKey="key" listValue="value.name"
list="@service.RoleService@getRoleMap()">
</s:select>
解释一下吧:
name是与action之间传输的元素
value是action穿过来的默认值,当roles有值时,默认选中,注意:roles是支持的类型,比如List类型等。
multiple表示多选,true支持多选,false不支持
list,来自于后台返回到数据
本文详细介绍了Struts2框架中select标签的使用方法及属性配置。包括静态生成下拉选项、通过Action传递list生成下拉菜单等内容,并提供了具体示例。
416

被折叠的 条评论
为什么被折叠?



