在struts2 使用时经常会遇到一些小问题,如在使用<s:radio>时,需设置默认值时:如以下
1、<s:radio id="addressBook_sex" name="addressBook.sex" list="%{#{'男':'男','女':'女'}}" listKey="key" listValue="value" value="男"></s:radio>(这样是不行的,不能自动选中)
2、<s:radio id="addressBook_sex" name="addressBook.sex" list="%{#{'1':'男','0':'女'}}" listKey="key" listValue="value" value="1"></s:radio>(这样是可以的)
分析:以上1、2 看起来好像是一样的,但实际上是有分别的,在<s:radio> 中 value指定默认选项值时,如果是字符类型的,需要在
“”中加入‘’号,就像2、中那样,value="1" 是可行的,因为,1本身是数字类型的,而在1、中 value="男",由于“男”是字符类型的,因些需在写成“‘男’”形式的。
把1、改成以下形式,就可以了。
<s:radio id="addressBook_sex" name="addressBook.sex" list="%{#{'男':'男','女':'女'}}" listKey="key" listValue="value" value="‘男’"></s:radio>