参见英文答案 >
Evaluate empty or null JSTL c tags8个
如果session属性为空,我试图在JSTL中测试.然而,属性为空JSTL将其视为非空属性.
如果session属性为空,我试图在JSTL中测试.然而,属性为空JSTL将其视为非空属性.
这是我试图用JSTL替代的硬编码.此代码正常工作:
<% if (request.getAttribute("error") != null) { %> <div class="alert alert-danger"> <strong>Oh snap,something's wrong,maybe the following error could help you out?<br /></strong> <%= request.getAttribute("error")%> </div> <% } %>
这是我如何用JSTL替换它.选中时,错误属性不为空,但它为空.
<c:if test="${not empty sessionScope.error}"> <div class="alert alert-danger"> <strong>Oh snap,maybe the following error could help you out?<br /></strong> <c:out value="${sessionScope.error}" /> </div> </c:if>
解决方法
添加JSTL库并声明核心taglib:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
JSTL相当于
<% if (request.getAttribute("error") != null) { %>
是
<c:if test="${not empty error}">