2009-05-15 26 views
55

Ví dụ:Làm thế nào tôi có thể kiểm tra nếu một thuộc tính được thiết lập (không null và không phải là một chuỗi rỗng) với jstl?

<c:if test="${post}"> 
    <h3>${post.title}</h3> 
</c:if> 
+1

mặc dù nếu 'title' không tồn tại (. tức là tài sản không thuộc về biến này/đậu), bạn muốn nắm bắt những 'javax.el.PropertyNotFoundException', xem câu hỏi' Thuộc tính kiểm tra tồn tại trong JSP' trên http://stackoverflow.com/questions/2522562/checking-attribute-exists-in-jsp –

+0

Câu hỏi của bạn có lẽ nên được định dạng lại là "kiểm tra xem một thuộc tính có được đặt **" hay không (không phải là null và không phải là một chuỗi rỗng) –

Trả lời

103

Sử dụng các từ khóa trống

<c:if test="${not empty post}"> 
    <h3>${post.title}</h3> 
</c:if> 
+2

Đây chắc chắn là cách tốt nhất. Tôi tin rằng nó cũng kiểm tra cho 'null'. –

+0

Điều này gây hiểu lầm. Nếu thuộc tính là một danh sách, nó được đặt và rỗng, điều kiện này sẽ trả về true. – stepanian

10

Bạn cũng có thể sử dụng '!' thay vì 'không':

<c:if test="${!empty post}"> 
    <h3>${post.title}</h3> 
</c:if> 
Các vấn đề liên quan