JSTL的以下标记可用于一个值设置为在请求范围的变量。
<c:set var="value" scope="request" value="someValue"/>
我要有条件地检查,如果变量value
被设置为空或不并显示结果相应地类似于以下,使用<c:when>...</c:when>
。
<c:choose>
<c:when test="${not empty value}">
<c:out default="None" value="${value}"/>
</c:when>
<c:otherwise>
<c:out default="None" value="None"/>
</c:otherwise>
</c:choose>
我想用的三元表达式像减少的代码行,
<c:out default="None" value="${not empty value ? value : 'None'}"/>
其被评估为它实际上意味着,但如果我喜欢交换表达式的顺序,
<c:out default="None" value="${empty value ? 'None' : value}"/>
然后它是指示了语法错误,
“$ {空值 '无':值}” 包含无效表达(S):javax.el.ELException:错误解析:{?空值 '无':值} $
那么,为什么会出现这种情况?
我使用JSTL 1.1
库,包含了下面的taglib,
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>