如何使用String
的{{1}}代码验证c
是空还是空?
我有一个名为JSTL
的变量,我可以显示它,但我想添加一个比较器来验证它。
var1
我想验证它是null还是空(我的值是字符串)。
答案 0 :(得分:714)
如何使用JSTL的c标签验证String是空还是空?
您可以在<c:if>
中使用empty
关键字:
<c:if test="${empty var1}">
var1 is empty or null.
</c:if>
<c:if test="${not empty var1}">
var1 is NOT empty or null.
</c:if>
<c:choose>
<c:when test="${empty var1}">
var1 is empty or null.
</c:when>
<c:otherwise>
var1 is NOT empty or null.
</c:otherwise>
</c:choose>
或者,如果您不需要有条件地渲染一堆标记,因此您只能在标记属性中检查它,那么您可以使用EL条件运算符${condition? valueIfTrue : valueIfFalse}
:
<c:out value="${empty var1 ? 'var1 is empty or null' : 'var1 is NOT empty or null'}" />
要详细了解这些${}
内容(Expression Language,这是与JSTL分开的主题),check here。
答案 1 :(得分:23)
还检查空白字符串,我建议按照
<%@ 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>
它还处理空值
答案 2 :(得分:6)
这是一个班轮。
${empty value?'value is empty or null':'value is NOT empty or null'}
答案 3 :(得分:6)
如果只检查null或为空,则可以使用with default选项:
<c:out default="var1 is empty or null." value="${var1}"/>
答案 4 :(得分:5)
此代码是正确的,但如果您输入了大量空格('')而不是null或空字符串 返回false。
要更正此问题,请使用常规表达式(下面的代码检查变量是null还是空或空白与org.apache.commons.lang.StringUtils.isNotBlank相同):
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:if test="${not empty description}">
<c:set var="description" value="${fn:replace(description, ' ', '')}" />
<c:if test="${not empty description}">
The description is not blank.
</c:if>
</c:if>
答案 5 :(得分:3)
您可以使用
${var == null}
替代地
答案 6 :(得分:-1)
In this step I have Set the variable first:
<c:set var="structureId" value="<%=article.getStructureId()%>" scope="request"></c:set>
In this step I have checked the variable empty or not:
<c:if test="${not empty structureId }">
<a href="javascript:void(0);">Change Design</a>
</c:if>
答案 7 :(得分:-1)
这是一个如何验证从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>