Jsp jstl-选择/何时
我有简短的代码:Jsp jstl-选择/何时,jsp,jstl,Jsp,Jstl,我有简短的代码: <c:choose> <c:when test="${logging==1}"> write 1 </c:when> <c:otherwise> write 2 </c:otherwise> </c:choose> 写1 写2 问题是这段代码不起作用。不管日志记录是1还是0,代码都会显示“写入2”文本 怎么了?日志记录为int 在您的回答之后,我已将我的代码更改为: <c:ch
<c:choose>
<c:when test="${logging==1}">
write 1
</c:when>
<c:otherwise>
write 2
</c:otherwise>
</c:choose>
写1
写2
问题是这段代码不起作用。不管日志记录是1还是0,代码都会显示“写入2”文本
怎么了?日志记录为int
在您的回答之后,我已将我的代码更改为:
<c:choose>
<c:when test="${logging eq 'added'}">
write 1
</c:when>
<c:otherwise>
write 2
</c:otherwise>
</c:choose>
写1
写2
现在,我的“日志记录”是一个字符串。它的display“添加了”和${logging['class']}display“class java.lang.String”,但它仍然写“write 2”
我还有申报单
我的web.xml是:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
我不能100%确定“${logging==1}”语法是否正确 我以前在这类代码中肯定见过“${logging eq 1}”语法 另外-变量日志是否定义正确
如果可能,您可以显示代码的其余部分吗?如果值根本不是
int
,而是字符串,则可能发生这种情况。对于字符串,您需要引用比较值:
<c:choose>
<c:when test="${logging == '1'}">
write 1
</c:when>
<c:otherwise>
write 2
</c:otherwise>
</c:choose>
写1
写2
另一个可能的原因是EL没有被评估。如果web.xml
根声明错误,则可能会出现这种情况。有关正确的声明示例,请参见的底部。是否“记录”会话或请求的边界?您使用的是哪个servletcontainer?${logging==1}正确。我甚至比${logging eq 1}更喜欢这个,因为它对我来说更可读。