Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 计算空的或空的JSTLC标记_Jsp_Jstl_El - Fatal编程技术网

Jsp 计算空的或空的JSTLC标记

Jsp 计算空的或空的JSTLC标记,jsp,jstl,el,Jsp,Jstl,El,如何使用JSTL的c标记验证字符串是否为null或空 我有一个名为var1的变量,我可以显示它,但我想添加一个比较器来验证它 <c:out value="${var1}" /> 我想验证它是null还是空(我的值是字符串) 如何使用JSTL的c标记验证字符串是否为null或空 您可以在中使用empty关键字: <c:if test="${empty var1}"> var1 is empty or null. </c:if>

如何使用
JSTL
c
标记验证
字符串是否为null或空

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

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

我想验证它是null还是空(我的值是字符串)

如何使用JSTL的c标记验证字符串是否为null或空

您可以在中使用
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>
要了解更多关于那些
${}
事物的信息,请参阅

另见:

此代码是正确的,但如果您输入了大量空格(“”),而不是空字符串或空字符串 返回false

要更正此问题,请使用正则表达式(下面的代码检查变量是否为null或空,或者是否为空,与org.apache.commons.lang.StringUtils.isNotBlank相同):


说明不是空的。

要同时检查空白字符串,我建议如下

<%@ 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中的三元算子
在这一步中,我首先设置了变量:
在这一步中,我检查了变量是否为空:

如果只选中null或empty,则可以使用with default选项:

您可以使用

    ${var == null}

或者。

下面是一个如何验证从Java控制器传递到JSP文件的int和字符串的示例

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>

${someNumber}

someNumber不是空的

数字是空的

${someString}

someString不是空的

someString是空的


对于那些在空支票上遇到奇怪问题的人,这里有一个可疑的故事,其中可能有一个原因:总结:
empty
在使用古老的JSTL 1.0时对
Set
不起作用。您需要升级到JSTL1.1(已经从2003年开始)。@BalusC-EL
${notempty var1}
是否同时检查空和空?我的意思是,当且仅当
var1
不为空且
var1
不为空时,测试评估为真。是否不需要单独检查
null
?是否
empty
与ne''相等@sharef:no,不是。如果是
String
值,则它相当于
var-ne-null和var-ne'
。此外,它还支持
对象
、数组、
集合
映射
。我的评论有什么问题吗?不,很遗憾,你不能。“”中没有任何符号是空字符串,但不为null。
${empty value?'value is empty or null':'value is NOT empty or null'}
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>
    ${var == null}
@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;
}
<%@ 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>