2009-05-15 6 views
55

P. ej.¿Cómo puedo verificar si un atributo está establecido (no nulo y no es una cadena vacía) con jstl?

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

aunque si 'title' no existe (. es decir, la propiedad no pertenece a esta variable/frijol), que se desea capturar el' javax.el.PropertyNotFoundException', véase la pregunta ' El atributo de comprobación existe en JSP' en http://stackoverflow.com/questions/2522562/checking-attribute-exists-in-jsp –

+0

Su pregunta probablemente deba reformularse como "verificar si ** se establece ** un atributo" (no nulo y no una cadena vacía) –

Respuesta

103

utilizar la palabra clave vacío

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

Esta es definitivamente la mejor manera. Creo que también verifica 'null'. –

+0

Esto es engañoso. Si el atributo es una lista, está establecido y está vacío, este condicional devolverá verdadero. – stepanian

10

También puede utilizar '!' en cambio 'no':

<c:if test="${!empty post}"> 
    <h3>${post.title}</h3> 
</c:if> 
Cuestiones relacionadas