更新時間:2021-08-11 12:19:24 來源:動力節點 瀏覽1331次
在做前臺數據展示處理時,使用到了el表達式來判斷,正常使用eq或==,無效,代碼如下
<div>
<c:if test="${myparam.isUse eq '1'}">
<input type="radio" name="isUse" class="required myinput" value="1" checked />
<p>啟用</p>
<input type="radio" name="isUse" class="required myinput" value="0" />
<p>禁用</p>
</c:if>
<c:if test="${myparam.isUse eq '0'}">
<input type="radio" name="isUse" class="required myinput" value="1" />
<p>啟用</p>
<input type="radio" name="isUse" class="required myinput" value="0" checked/>
<p>禁用</p>
</c:if>
</div>
目的就是根據后臺的值,來默認進行回顯(此處代碼,可優化,后面會附上);這里的isUse是明確為1且為字符,但是沒有執行代碼。
前后臺都檢查了一遍,并沒有語法問題,與正常使用el表達式的唯一區別就是,這里的變量是一個字符,而非字符串
/**
* 群組狀態是否啟用:0表示禁用,1表示啟用
* @return
*/
private char isUse;
public char getIsUse() {
return isUse;
}
public void setIsUse(char isUse) {
this.isUse = isUse;
}
也查了相關資料,找到以下解決方法。
方法一
在后臺傳值時,將字符轉化為字符串。前臺不變,顯示正常
param.put("isUse", tbBizType.getIsUse()+"");//直接加上空字符串即可
方法二
在前臺進行處理,使用charAt(0)方法獲取字符,進行比較,代碼如下
<div>
<input type="radio" name="isUse" class="required myinput" value="1"
${myparam.isUse=='1'.charAt(0)?'checked':''}>
<p>啟用</p>
<input type="radio" name="isUse" class="required myinput" value="0"
${myparam.isUse=='0'.charAt(0)?'checked':''}>
<p>禁用</p>
<div>
方式三
將字符轉化為整數,因為這里我使用的字符值只是0或者1,所以在前端可以只是使用0或者1的編碼值進行比較
0的編碼對應的是49,1的編碼對應的是50,代碼如下:
<div>
<input type="radio" name="isUse" class="required myinput" value="1"
${myparam.isUse==49?'checked':''}>
<p>啟用</p>
<input type="radio" name="isUse" class="required myinput" value="0"
${myparam.isUse==48?'checked':''}>
<p>禁用</p>
<div>
方式四
使用枚舉,將可能的值定義為一個枚舉,并使用它聲明變量,在進行el表達式操作的時候,可以直接調用進行比較
//定義枚舉
public enum OrderStatus {
N, X, Y, Z;
}
//使用枚舉類型聲明
private OrderStatus isUse; //get和set方法
<div>
<input type="radio" name="isUse" class="required myinput" value="1"
${myparam.isUse=='1'?'checked':''}>
<p>啟用</p>
<input type="radio" name="isUse" class="required myinput" value="0"
${myparam.isUse=='0'?'checked':''}>
<p>禁用</p>
<div>
以上就是動力節點小編介紹的"EL表達式判斷字符串",希望對大家有幫助,想了解更多可查看EL表達式。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習