struts2 <s:select>标记取包含map的list的值
如下list
map.put("ID","001");
map.put ("NM","test1");
list.add(map);
map.put("ID","002");
map.put ("NM","test2");
list.add(map);
放于request中
request.setAttribute("testlist", list);
上面的list生成是首先把列名,列值一对一对放入map,然后再一行一行放入list中.
好像<s:select只能认一层的map,或list>
两种选择,一种就是把生成的list转成一层一map或list,这样很费时.
另外一种选择就是不使用<s:select>标签,而使用传统的标签加<s:iterator>的方式,我选择了后一种.
<select name="id">
<s:iterator value="#request.testlist" status="stuts" id="test">
<option value='<s:property value="#test.ID" />'><s:property value="#test.NM" /></option>
</s:iterator>
</select>
也能达到效果,不知道性能上比<s:select>有没有什么问题,由于这方面要求不是很高,暂时这样吧!