在网上找了半天传List的无果,结果自己试着试着居然成功了
现在如果action中存在一个一个List的变量:authorityList
我想在select中显示它,请看代码
<s:select name="roleId" id="authority" headerKey="0" headerValue="所有"
list="%{#request.authorityList}" listKey="#this.roleId" listValue="#this.roleName"
value="roleId" οnchange="doSelect()" label="过滤条件"/>
之前用map也能实现,但总觉得不够合理,赋值转来转去浪费资源消耗时间
用map实现的也拖出来看看吧
action中首先定义map变量,将authorityList中的roleId和roleName赋值给它
然后在select中这样显示
<s:select name="roleId" id="authority" headerKey="0" headerValue="所有"
list="%{#request.map}" listKey="key" listValue="value"
value="roleId" οnchange="doSelect()" label="过滤条件"/>
看看,这样直接显示List是不是省了一道赋值的循环,节约不少时间
________________________________________________________________________________________________________________________________
既然都说select了,那就干脆把几种用法都贴出来吧,转自http://www.cnblogs.com/modou/articles/1326683.html
1.第一个例子:
<s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:select>
2.第二个例子:
<s:select list="#{1:'aa',2:'bb',3:'cc'}" label="abc" listKey="key" listValue="value" headerKey="0" headerValue="aabb">
3.第三个例子:
<%
HashMap map = new LinkedHashMap();
map.put(1,"aaa");
map.put(2,"bbb");
map.put(3,"ccc");
request.setAttribute("map",map);
request.setAttribute("aa","2");
%>
<s:select list="#request.map" label="abc" listKey="key" listValue="value" value="#request.aa" headerKey="0" headerValue="aabb">
</s:select>