我如何验证字符串是否为空或使用JSTL的c标签?

我有一个名为var1的变量,我可以显示它,但我想添加一个比较器来验证它。

<c:out value="${var1}" />

我想验证它为空或空(我的值是字符串)。


当前回答

也检查空白字符串,我建议如下

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<c:if test="${empty fn:trim(var1)}">

</c:if>

它还处理空值

其他回答

这里有一句台词。

EL里面的三元运算符

${empty value?'value is empty or null':'value is NOT empty or null'}

如果你只检查null或空,那么你可以使用with默认选项: <c:out default="var1 is empty or null." value="${var1}"/> .

也检查空白字符串,我建议如下

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<c:if test="${empty fn:trim(var1)}">

</c:if>

它还处理空值

下面是一个如何验证从Java控制器传递给JSP文件的int和String的示例。

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>

你可以使用

    ${var == null}

另外。