Aquí hay un ejemplo de cómo validar un int y una cadena que pasa del controlador Java al archivo JSP.
MainController.java:
@RequestMapping(value="/ImportJavaToJSP")
public ModelAndView getImportJavaToJSP() {
ModelAndView model2= new ModelAndView("importJavaToJSPExamples");
int someNumberValue=6;
String someStringValue="abcdefg";
//model2.addObject("someNumber", someNumberValue);
model2.addObject("someString", someStringValue);
return model2;
}
importJavaToJSPExamples.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<p>${someNumber}</p>
<c:if test="${not empty someNumber}">
<p>someNumber is Not Empty</p>
</c:if>
<c:if test="${empty someNumber}">
<p>someNumber is Empty</p>
</c:if>
<p>${someString}</p>
<c:if test="${not empty someString}">
<p>someString is Not Empty</p>
</c:if>
<c:if test="${empty someString}">
<p>someString is Empty</p>
</c:if>
empty
no funcionaSet
cuando se usa el antiguo JSTL 1.0. Debería actualizar a JSTL 1.1 (que ya es de 2003).${not empty var1}
verifica tanto vacío como nulo simultáneamente? Quiero decir que la prueba se evalúa como verdadera si y solo si novar1
es nula y no está vacía. ¿No hay necesidad de verificar por separado?var1
null
empty
equivalente a ne ''String
valores, es equivalente avar ne null and var ne ''
. Además también es compatibleObject
, matrizCollection
yMap
.