2012-05-03 82 views
0

我有這樣的事情在我的JSP頁面:JSTL測試和HTML輸入

<% if(id!=null) { %> 
    <input type="hidden" name="id" value="<%= id %>" /> 
<% 
} 
%> 

當我想編輯的用戶ID應該是非空,那麼我想在我的HTML輸入。 但是,當我想添加一個用戶ID應該是空的,所以我沒有那個輸入。

它與該代碼很好地工作。不過,我想使用JSTL我嘗試使用C:如果和c:時:

<c:choose> 
    <c:when test="${id != null }"> 
     <input type="hidden" name="id" value="<%=id%>" /> 
    </c:when> 
    <c:otherwise> 
     <br/> 
    </c:otherwise> 
</c:choose> 

的問題是,這個代碼顯示<br />id是空還是非空(添加和編輯)......我不明白爲什麼它不起作用。

感謝您的幫助,

小號

回答

3

的問題是,你的變量ID不在範圍由JSTL可以達到。 你需要做的:

pageContext.setAttribute("id", id); 

而且,最好要測試​​的空:

<input type="hidden" name="id" value="${id}" /> 
+0

完美:

<c:when test = "${!empty id}"> 

最後,你應該輸出id的值時使用JSTL !確實id不在範圍內。 感謝您的提示。 – ethd