Struts2——list、listkey、listValue属性

  list、listKey、listValue属性对radio、ombobox、select、checklist、doubleselect等标答来说非常重要,因为它们可以帮助程序员有更效率地管理和获取这些标签的选项。
  
  注意:在select元素里,value属性是可选的。如果没有给出这个属性,在某个选项被选中时,该选项的行标将作为select元素的值 被发送到服务器。从理论上讲,radio元素的value属性也是可选的。可是,如果不给出value属性,radio按钮被选中时的值将是”on”,而不是相应的radio元素的label属性值。
  list属性是必不可少的,另外两个属性是可选的

<s:radio list="#{'1':男,'0':女}" listKey="sex" liseValue="sexname" name="user.sex"/>

其中:
  listKey的值可能为1或0,在点击提交表单后,其值会赋值给user.sex,也就是说listKey的值是给服务器的。
  listValue的值为男或女,因为它只是给用户显示的看的。

list=" " listKey=" " listValue=" " name=" "/>

其中:
  listKey的值 比如:aaa,其中1就是listKey的值。该值也是传给服务器的
  listValue的值,aaa 就是listValue的值,该值是显示在页面上给用户看的

一般例子:


<s:radio name="customer.sex" list="#{'男':true,'女':false}" 
     listKey="value" listValue="key" value="true">
s:radio>

如果集合里存放的是javabean(id和name为Person的属性)

name="beans" list="#request.persons" listKey="personid" listValue="name"/>

生成如下html代码:

<input type="radio" name="beans" id="beans1" value="1"/><label>第一个label>
<input type="radio" name="beans" id="beans2" value="2"/><label>第二个label>

如果集合为MAP

<s:radio name="map" list="#{1:'瑜珈用品',2:'户外用品',3:'球类',4:'自行车'}" listKey="key" listValue="value“ value="1"/>

生成如下html代码:

type="radio" name="map" id="map1" value="1"/>
type="radio" name="map" id="map2" value="2"/>
type="radio" name="map" id="map3" value="3"/>
type="radio" name="map" id="map4" value="4"/>

如果集合为list

"list" list="{'Java','.Net'}" value="'Java'"/>

生成如下html代码:

<input type="radio" name="list" checked="checked" value="Java"/><label>Javalabel>
<input type="radio" name="list" value=".Net"/><label>.Netlabel>

给两个参考例子:
http://www.tuicool.com/articles/r2AvM3

你可能感兴趣的:(Struts2)