JSP中是否有类似isset的函数?

时间:2012-08-19 06:21:36

标签: jsp variables undefined

我想知道我们是否可以使用其内置函数检查JSP中的所有undefinednull变量?

我知道我可以构建一个功能,但我需要一个懒惰的解决方案。

4 个答案:

答案 0 :(得分:5)

<c:if test="${name == null}">variable name is undefined</c:if>

对于测试,您可以使用以下方法定义和取消定义变量:

<c:set var="name" value="Petra"/>
<c:set var="name" value="${null}"/>

要说明您正在使用核心JSTL标记,请将其添加到页面顶部:

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

答案 1 :(得分:3)

有一个没有内置函数来在JSP中检查这个,所以我想你必须创建一个,我认为如果你采取书呆子的意思,我认为这应该是一个相当简单的任务。 null

如果不是书呆子,那么null是一种过载的术语,它可能意味着以下任何一般用法:

  1. 实际上null字符串,可以抛出NullPointerException
  2. "",空字符串,可以称为null。
  3. "null"
  4. 一个实际的null数组。 : - )
  5. 一个空数组。
  6. 只有null个对象的数组......
  7. 因此,您可以构建一个方法来包含这些或其他您可以考虑进行空检查的情况,或者只包含基本原始未装配的空检查。

    在Java中,我认为没有undefined个变量,因为它是statically typed language,编译器会捕获这些所谓的undefined错误: - )

    在PHP中(因为我认为你从那里开始使用这个功能)你有这些东西,因为它是一种脚本语言而不是像Java这样的静态类型语言。

    希望这有帮助。

答案 2 :(得分:0)

您可以使用此代码段:

,而不是检查null
<c:if test="${not name}">variable name is undefined</c:if>

答案 3 :(得分:0)

用于检查变量的

是否使用以下函数

request.getParameterMap()。的containsKey( “可变的”)

if(request.getParameterMap().containsKey("name"))
{
     out.print(request.getParameter("name"));
}