Jsp 将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="

我有一个简单的要求,我想比较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="${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”
    用于comaprison
  • 变量状态变量 例如
    loop.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>
    
    另见:

    我试过了,但没有成功。我也在寻找转换。再次非常感谢,你解决了我的另一个问题,我正在将bean中的char与“Y”或“N”进行比较。之前我将两者都转换为字符串以获得结果。。你的第二个链接非常有用…再一次,你帮了我这个,字符串和数字的连接,非常感谢,因为我没有50的声誉,不能在那里评论。。。。
    <c:forEach var="i" begin="1" end="5">
        <c:set var="ratingAsString">#{bean.rating}</c:set>
        ${ratingAsString == i}<br/>
    </c:forEach>