您的位置:首页 > 编程语言 > Java开发

Struts2<s:select></s:select>

2016-03-27 14:29 357 查看
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<User>类型的userList属性。listKey="id"表示当前option的value从userList里的当前User对象的id属性取值。listValue="name"表示当前option的text从userList里的当前User对象的name属性取值。

struts2的select标签中,常用的有以下几个属性:

(1)struts2中的select 标签中,必须设置的属性只有一个,即是list。

(2)select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey, headerValue,这样就可以通过了。即使list中有值,我们也通常会加上headerKey, headerValue,即列表中显示的第一个选项。注意,headerKey不可以为空,不可以为-1。

(3)list属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的 option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。

(4)listKey和 listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option。

(5)name属性:即是表单中select的名称。

如果可以在jsp页面上写死的话,可以如下:

<s:select list="#{1:'男',2:'女'}" listKey="key" listValue="value" value="2" />

该代码运行结果:默认显示的是“女”。

如果默认项是从后台传到前台的,可以如下:

jsp:

<s:select list="#{'1':'男','2':'女'}" name="sex"/>

action:

private String sex;

sex属性有get/set方法。

在业务方法中设置sex = "2";select会默认选中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts select struts2.0