2013-04-26 91 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