2011-04-06 56 views
3

我有一个来自数据库的ID列表,并将它们传递给一个servlet请求,但我无法将它们与任何数字进行比较。如何比较JSTL中的参数

我想也许我已经将它们转换为整数类型:

<c:forEach items="${subjec.id}" var="x"> 
${x} 
    </c:forEach> 
<c:forEach items="${listPage}" var = "list"> 
${list.id} 
<c:choose> 
<c:when test="${list.id} == 1"> 

</c:when> 
</c:choose> 

</c:forEach> 
<c:if test="${subject1.id == 1}"> 
${subject1.id} 
</c:if> 

但是,我不能基于整数格式的测试。对这种情况的任何暗示?

+3

您的问题没有明确,要准确地比较什么? – 2011-04-06 07:49:17

回答

-1

尝试

<c:when test='${list.id == "1"}'> 
6
<c:when test="${list.id} == 1"> 

这是不对的。您需要将整个表达式放入${}

如果getId()返回Number(整数,长,等等),然后使用以下命令:

<c:when test="${list.id == 1}"> 

或者如果它返回一个String(这是顺便说一下不自然),然后使用以下命令:

<c:when test="${list.id == '1'}"> 

或者,如果它返回一个boolean(只是作为例子),然后使用以下:

<c:when test="${list.id}"> 
2

应该<c:when test="${list.id == '1'}">
如果使用<c:when test='${list.id == "1"}'>会抛出异常