Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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
Java JSTL:检查字符串是否为空_Java_Jsp_Jstl - Fatal编程技术网

Java JSTL:检查字符串是否为空

Java JSTL:检查字符串是否为空,java,jsp,jstl,Java,Jsp,Jstl,我试图在JSTL中测试会话属性是否为空。但是,属性为空,JSTL将其视为非空属性 这是我试图用JSTL替换的硬代码。此代码工作正常: 噢,天哪,出了点问题,也许下面的错误可以帮你解决? 我就是这样用JSTL替换它的。选中时,“错误”属性不为空,但为空 噢,天哪,出了点问题,也许下面的错误可以帮你解决? 我试图在JSTL中测试会话属性是否为空 您必须签入会话范围而不是请求范围 应该是 <c:if test="${not empty sessionScope.error}">

我试图在JSTL中测试会话属性是否为空。但是,属性为空,JSTL将其视为非空属性

这是我试图用JSTL替换的硬代码。此代码工作正常:


噢,天哪,出了点问题,也许下面的错误可以帮你解决?
我就是这样用JSTL替换它的。选中时,“错误”属性不为空,但为空


噢,天哪,出了点问题,也许下面的错误可以帮你解决?

我试图在JSTL中测试会话属性是否为空

您必须签入会话范围而不是请求范围

应该是

<c:if test="${not empty sessionScope.error}">

而不是

<c:if test="${not empty requestScope.error}">


如果您不确定作用域,那么使用不带作用域,它将从下到上查看所有作用域(页面、请求、会话,最后在应用程序中)


添加JSTL库并声明核心标记库:

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

JSTL等价于

<% if (request.getAttribute("error") != null) { %>



OP也在以同样的方式进行操作。尝试删除requestScope,但同样的问题仍然存在。是否添加了jstl库是否在页面中导入了jstl标记,这确实是问题所在。我花了一个多小时来解决这个问题。谢谢:)@gyanu编辑你的帖子并添加实际的解决方案,我做到了。我希望我的答案会被接受。谢谢。改变了,同样的问题仍然存在。我还试图删除范围,但也不起作用。我绝对肯定这个属性是空的,因为我让旧代码处于活动状态,而该代码没有生成任何内容。在设置属性的位置共享代码。可能是
错误
不是正确的属性名称。
${not empty null}
${not empty”“}
返回
false
。问题已解决。我忘了添加库。。我花了一个多小时来解决这个问题。不过谢谢你的帮助。对不起,浪费了你的时间。哦,没有愚蠢的错误。我没想到你会这么说。
<% if (request.getAttribute("error") != null) { %>
<c:if test="${not empty error}">