更新時間:2021-08-11 12:19:24 來源:動力節(jié)點 瀏覽1516次
在做前臺數(shù)據(jù)展示處理時,使用到了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>
目的就是根據(jù)后臺的值,來默認(rèn)進行回顯(此處代碼,可優(yōu)化,后面會附上);這里的isUse是明確為1且為字符,但是沒有執(zhí)行代碼。
前后臺都檢查了一遍,并沒有語法問題,與正常使用el表達式的唯一區(qū)別就是,這里的變量是一個字符,而非字符串
/**
* 群組狀態(tài)是否啟用:0表示禁用,1表示啟用
* @return
*/
private char isUse;
public char getIsUse() {
return isUse;
}
public void setIsUse(char isUse) {
this.isUse = isUse;
}
也查了相關(guān)資料,找到以下解決方法。
方法一
在后臺傳值時,將字符轉(zhuǎn)化為字符串。前臺不變,顯示正常
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>
方式三
將字符轉(zhuǎn)化為整數(shù),因為這里我使用的字符值只是0或者1,所以在前端可以只是使用0或者1的編碼值進行比較
0的編碼對應(yīng)的是49,1的編碼對應(yīng)的是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表達式操作的時候,可以直接調(diào)用進行比較
//定義枚舉
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>
以上就是動力節(jié)點小編介紹的"EL表達式判斷字符串",希望對大家有幫助,想了解更多可查看EL表達式。動力節(jié)點在線學(xué)習(xí)教程,針對沒有任何Java基礎(chǔ)的讀者學(xué)習(xí),讓你從入門到精通,主要介紹了一些Java基礎(chǔ)的核心知識,讓同學(xué)們更好更方便的學(xué)習(xí)和了解Java編程,感興趣的同學(xué)可以關(guān)注一下。