關於判斷 char 類型

Bug : 使用<c:if> 判斷 char類型的數值時,等值判斷無效。

經歷:後臺數據庫保存某個狀態的時候經常使用char類型去定義字段,然後規定某個代碼爲某個狀態,如 ‘0’ 爲 ‘有’,‘1’ 爲 ‘無’ ,頁面查詢列表展示的時候經常要隊該字段進行處理,需要顯示‘有’或者‘無’,而不是‘0’或‘1’,常見的辦法就是使用核心標籤庫中的<c:if>標籤:

<c:if test="${deptInfo.sts eq '0' }" >有效</c:if>
<c:if test="${deptInfo.sts eq '1' }" >無效</c:if> 

然而頁面上狀態字段卻不顯示。


原因:char 類型的數據進行比較時,需要先把它轉換成ASCII碼對應的十進制,再進行比較。

提示:char類型 0-9 對應 ASCII十進制  48-57 ;     A-Z : 65 - 90   ;      a-z : 97-122  (這些時比較常用的)

解決方案:

<c:if test="${deptInfo.sts eq '48' }" >有效</c:if>

<c:if test="${deptInfo.sts eq '49' }" >無效</c:if>

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