求解--jsp中radio的性別信息的數據回顯問題

昨晚在做畢業設計的時候,遇到了一個久久不能解決的問題。是這樣的,在修改人員信息的時候,先要回顯該人員的原始信息。其他信息,包括姓名郵箱部門信息都沒有問題,在回顯性別信息時(jsp-input的radio類型),總是不能正確顯示。嘗試了各種辦法都不行。我使用的是struts2和hibernate做的一個管理系統。引入的是jstl的標籤庫。

第一種方式:
<c:if test="${info.sex=='1'}">
<input type="radio" name="emp.sex" checked="checked" value="1"/>男
<input type="radio" name="emp.sex" value="0"/>女
</c:if>

<c:if test="${info.sex=='0'}">
<input type="radio" name="emp.sex" value="1"/>男
<input type="radio" name="emp.sex" checked="checked" value="0"/>女
</c:if>

第二種方式:
<input type="radio" name="emp.sex" value="1" checked="${info.sex=='1'?"'checked'":''}"/>男
<input type="radio" name="emp.sex" value="1" checked="${info.sex==0?"'checked'":''}"/>女

第三種方式:
<input type="radio" name="emp.sex" value="1" <c:if test="${info.sex=='1'}" 'checked'/>/>男
<input type="radio" name="emp.sex" value="1" <c:if test="${info.sex==0}" 'checked'/>/>女

後在把test中的==改爲eq也不行,是在沒有辦法了,請教各位高手!希望能夠給我點建議,謝謝!

-------------------------------------------------------
現在已經解決了這個問題。原來不是寫法的問題,而是自己沒注意sex字段在數據庫中的存儲類型的變化。數據庫中sex是用char(2)存的,而我用1表示男,0表示女,只佔了一個字符。而默認在oracle還是以1/0加一個空格符的形式存的。所以在原先的寫法中<c:if test="${info.sex=='1'}">,得到的是一個false,所以是不會執行以下的代碼的。
所以以後用char類型還是要注意的!用varchar2就不容易出現這種情況。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章