Posted on 2008-01-24 22:06
云自無心水自閑 閱讀(7062)
評(píng)論(7) 編輯 收藏 所屬分類:
Java 、
心得體會(huì) 、
Struts2
在Struts2中,radio標(biāo)簽可以使用一個(gè)list來輸出一組radio按鈕,
<s:radio name="sex" list="#{'male','female'}" label="%{getText('app.label.sex')}" />
但是如何設(shè)置其中一個(gè)被默認(rèn)選中。
查閱了struts2的文檔,發(fā)現(xiàn)radio標(biāo)簽有一個(gè)value屬性是用于對(duì)radio的進(jìn)行預(yù)選的: http://struts.apache.org/2.x/docs/radio.html
value: Preset the value of input element.
于是,進(jìn)行了試驗(yàn),<s:radio name="sex" list="#{'male','female'}" label="%{getText('app.label.sex')}" value="male" />
結(jié)果失敗了。male的值并沒有被選中,經(jīng)過反復(fù)研究,終于得到了正確的結(jié)果:
<s:radio name="sex" list="#{'male','female'}" label="%{getText('app.label.sex')}" value="'male'" />
看到其中的區(qū)別了嗎,就是多了兩個(gè)單引號(hào)。
我認(rèn)為這是因?yàn)関alue屬性的特性引起的。如果male沒有加引號(hào),那么struts2會(huì)去值的堆棧中尋找變量名為male的值,結(jié)果找不到。
加上單引號(hào)后,struts2(應(yīng)該是ognl)把'male'認(rèn)為是一個(gè)簡單的字符串。
這樣,radio就能夠正確地匹配到值,使指定的值默認(rèn)被選中