5

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

我知道我可以构建一个函数来做到这一点,但我需要一个懒惰的解决方案。

4

4 回答 4

7
<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" %>
于 2012-08-19T13:47:03.917 回答
3

在 JSP中没有用于检查这一点的内置函数,所以我想你必须制作一个,如果你接受null.

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

  1. 实际上是null字符串,它可以抛出NullPointerException.
  2. "", 可能称为 null 的空字符串。
  3. "null"
  4. 一个真正的null数组。:-)
  5. 一个空数组。
  6. 一个只有null对象的数组...

因此,您可以构建一种方法来包含这些或其他您可以想到的空检查或仅基本原始未修饰空检查的情况。

在Java中我想没有undefined变量这样的东西,因为它是一种静态类型的语言,编译器会捕获任何这些所谓的undefined错误:-)

在 PHP 中(因为我认为你从那里获取了这个函数)你有这些东西,因为它是一种脚本语言,而不是像 Java 这样的静态类型语言。

希望这可以帮助。

于 2012-08-19T14:07:26.427 回答
0

您可以使用以下代码段,而不是检查null

<c:if test="${not name}">variable name is undefined</c:if>
于 2013-11-07T11:51:40.340 回答
0

用于检查变量是否发送或不使用以下功能

request.getParameterMap().containsKey("变量")

if(request.getParameterMap().containsKey("name"))
{
     out.print(request.getParameter("name"));
}
于 2017-03-21T04:54:25.400 回答