Jsp 将Java字符与EL中的整数进行比较
我有一个简单的要求,我想比较Java字符和EL语法中的整数,我该怎么做Jsp 将Java字符与EL中的整数进行比较,jsp,char,integer,jstl,el,Jsp,Char,Integer,Jstl,El,我有一个简单的要求,我想比较Java字符和EL语法中的整数,我该怎么做 <select name="rating" id="id-rating"> <c:forEach var="i" begin="1" end="5" > <c:choose> <c:when test="${javaObject.rating == i }"> <option value="
<select name="rating" id="id-rating">
<c:forEach var="i" begin="1" end="5" >
<c:choose>
<c:when test="${javaObject.rating == i }">
<option value="${i }" selected="selected">${i }</option>
</c:when>
<c:otherwise>
<option value="${i }">${i }</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>${javaObject.rating }
${i}
${i}
${javaObject.rating}
我试过了
“eq”
用于comaprisonloop.index
循环。当前
${javaObject.rating}
是我从Java类(Spring控制器)中得到的这对我来说很好
${1 eq Integer.parseInt('1')} // return true
这确实行不通。技术问题是,字符
1
的整数值为49
。(代码点)。证据如下:
System.out.println((int) '1'); // 49
因此,您需要添加一个整数偏移量来匹配字符的代码点
<c:forEach var="i" begin="49" end="53">
${bean.rating == i}<br/>
</c:forEach>
另见:
<c:forEach var="i" begin="1" end="5">
<c:set var="ratingAsString">#{bean.rating}</c:set>
${ratingAsString == i}<br/>
</c:forEach>