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