天天看點

EL 表達式 比較數字變量無效

參考文章: 在EL表達式中比較數字似乎不起作用

參考文章: 比較EL表達式中的數字似乎不起作用(Comparing numbers in EL expression does not seem to work)

結合JSTL儲存變量

<c:set
   var="<string>"
   value="<string>"
   target="<string>"
   property="<string>"
   scope="<string>"/>
           

因為

<c:set>

将寫死值作為字元串進行儲存,EL也将其評估為

String,

是以無法比較成功

方法一

通過EL表達式設定值。這将被解釋為

Long

,而不是

String

<c:set var="pagerTotDisp" value="${9}" />
<c:set var="TotalPages" value="${10}" />
           

方法二

使用

<fmt:parseNumber>

,如果您将其作為

String

無法控制的其他地方的變量作為變量,則它将是唯一的解決方案。

<fmt:parseNumber var="pagerTotDisp" value="9" />
<fmt:parseNumber var="TotalPages" value="10" />
<!-- 或者轉換變量 -->
<fmt:parseNumber var="pagerTotDisp" value="${pagerTotDisp}" />
<fmt:parseNumber var="TotalPages" value="${TotalPages}" />