欢迎技术交流。 QQ:138986722
首先利用Struts2的<s:select>标签:
<s:select list="#request.groupList"
name="customerGroup" theme="simple"
listKey="id" listValue="name"
value="#request.customerGroup"
headerKey="" headerValue="--请选择--">
</s:select>
list属性:就是Action中从后台获取的list选项集合的值。
name属性:可以利用它来在后台获取用户所选取的值。
theme属性:这个属性是去掉s标签原有样式的意思、所有的s标签都通吃。
listKey 属性跟listValue属性:listKey就是option选项的value值、listValue就是option选项的Text值。这里值得注意 的是、你list集合中存放的实体的属性、要与listKey/value对应起来。比如、我的bean里面
class groupListClass{
private int id ;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;
}
这样、id、name跟页面listKey/Value的值对应起来。
value属性:就是当前控件的value、也就是当前控件选中的值。这个属性可以用来控制查询、记得在后台Action中声明属性、和get/set方法。也可以直接存值request范围。
headerKey属性:option选项默认值(value)。
headerValue属性:option选项默认文本(Text)。
部分后台代码:
String customerGroup = getRequest().getParameter("customerGroup");
List gr=new ArrayList();
gr = //获取list数据
getRequest().setAttribute("groupList", gr);
getRequest().setAttribute("customerGroup", customerGroup);
也可以直接在前台赋值使用select标签:
<s:select list="#{0:'未知',1:'男',2:'女'}"
name="sexCustomer" theme="simple" listKey="key" listValue="value"
value="#request.sexCustomer" headerKey="" headerValue="--请选择--"></s:select>
0,1,2代表的是option选项的value值。后面的是Text值。
记得在后台获取完毕之后存request范围一下、
String sexCustomer = getRequest().getParameter("sexCustomer");
getRequest().setAttribute("sexCustomer", sexCustomer);
当然、你也可以直接使用Struts2的属性驱动、或者模型驱动。