在Struts2中,radio標簽可以使用一個list來輸出一組radio按鈕,
<s:radio name="sex" list="#{'male','female'}" label="%{getText('app.label.sex')}" />
但是如何設置其中一個被默認選中。
查閱了struts2的文檔,發現radio標簽有一個value屬性是用于對radio的進行預選的: http://struts.apache.org/2.x/docs/radio.html
value: Preset the value of input element.
于是,進行了試驗,<s:radio name="sex" list="#{'male','female'}" label="%{getText('app.label.sex')}" value="male" />
結果失敗了。male的值并沒有被選中,經過反復研究,終于得到了正確的結果:
<s:radio name="sex" list="#{'male','female'}" label="%{getText('app.label.sex')}" value="'male'" />
看到其中的區別了嗎,就是多了兩個單引號。
我認為這是因為value屬性的特性引起的。如果male沒有加引號,那么struts2會去值的堆棧中尋找變量名為male的值,結果找不到。
加上單引號后,struts2(應該是ognl)把'male'認為是一個簡單的字符串。
這樣,radio就能夠正確地匹配到值,使指定的值默認被選中
posted on 2008-02-28 17:23
周銳 閱讀(1515)
評論(1) 編輯 收藏 所屬分類:
Struts