2013-04-26 173 views
0

我得到使用jstl检查null的问题。当我使用el显示值时。它显示为空但当我检查条件。它总是让我真实。c:when not null/empty使用jstl检查空

这里是我的JSP代码

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> 
<c:set var="test" value="${fn:trim(sample.testType)}" /> 
<td> 
<form:select path="xyz">   
    <c:if test="${not empty test}"> 
    <form:option value="${sample.testType}" label="${sample.testType}" /> 
    </c:if> 
</form:select> 
</td> 

但是,当我试图显示值$ {} sample.testType它显示为空。

感谢 拉维康德

回答

1

有些事情错在这里。

对于指向null的引用,EL不显示为空。如果您看到“null”字样打印出来,那么它是因为您的sample.testType值是字符串“null”。

否则你的代码应该工作,它有点奇怪的编程,但它应该为null引用。

+0

所以我怎样才能将null改为null或者在jsp中检查“null” – 2013-05-02 07:35:21

+0

我不能告诉你如何确保不将testType设置为“null”,那就是你的代码。或者将它作为jstl中的字符串进行检查,如testType eq'null' – Akshay 2013-05-02 10:21:05