jstl中<c:if>标签属性用法

今天用jstl+el从session域中获取属性,遇到了问题

org.apache.jasper.JasperException: <h3>Validation error messages from TagLibraryValidator for [c] in [/login.jsp]</h3><p>2: Illegal scope attribute without var in "c:if" tag.</p><p>19: Illegal scope attribute without var in "c:if" tag.</p>
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:55)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:294)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:81)
    org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:1917)
    org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1863)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:224)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:385)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:362)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:346)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

刷新页面时有时候报错,有时候还不报错,有点懵,一直用的标签怎么就报错了?
根据错误提示信息查找源码

<c:if test="${count>=1&&count<3}" scope="session">
    <c:out value="<span>账号或密码错误</span><br/>" escapeXml="false"></c:out>
    <c:out value="<span>剩余登陆次数:${sessionScope.count}</span>" escapeXml="false"></c:out>
</c:if>

其中:count属性已放在session域中
想了下,可能scope不是表示count所在域的,if标签还有一个属性是var,是用来存储test的结果值,那么scope是不是用于表示var的作用域的?
更改代码

<c:if test="${sessionScope.count>=1&&sessionScope.count<3}">
    <c:out value="<span>账号或密码错误</span><br/>" escapeXml="false"></c:out>
    <c:out value="<span>剩余登陆次数:${sessionScope.count}</span>" escapeXml="false"></c:out>
</c:if>

错误解决!

原文地址:https://www.cnblogs.com/mlr-wjy/p/12048475.html

时间: 2024-11-09 00:47:10

jstl中<c:if>标签属性用法的相关文章

iOS中手势的delaysTouchesBegan属性用法(挖坑)

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/css/cuteeditor.css);iOS中手势的delaysTouchesBegan属性用法(挖坑),布布扣,bubuko.com

HTML之:让网页中的&lt;a&gt;标签属性统一设置-如‘新窗口打开’

在开发过程中,我们往往想在页面中,给<a>设置一个统一的默认格式,例如我们想让链接:“在新窗口打开”,我们就可以使用<base>标签 在网页中添加这段代码: <head> <base target="_blank"> </head> [注解] <base> 标签为页面上的所有链接规定默认地址或默认目标. 通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白. 使用 <base

jstl中的foreach标签

<%@ page import="java.util.ArrayList" %><%@ page import="java.util.List" %><%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.

struts2 中&lt;s:select&gt;标签的用法

用struts2时要用到<s:select>标签 显示下拉式列表 jsp页面: <s:select name="styleCategory.styleId" list="styleList" listKey="styleId" listValue="styleName"> </s:select> 其中: name:  在action类中要添加如下代码 (setXX()和 getXX()方法)

html meta标签属性用法集合

1.<meta name="generator" contect="">用以说明生成工具(如Microsoft FrontPage 4.0)等: 2.<meta name="keywords" contect="">向搜索引擎说明你的网页的关键词: 3.<meta name="description" contect="">告诉搜索引擎你的站点的主要内

-----关于H5中的label标签的用法--------

一.label标签的作用 label标签来定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签相关的表单内容上. 二.举例说明          label标签的for属性的效果就是,鼠标点击"女"实现radio选中的效果,主要 归功于for=nv 而且必须要求input文本框的id也等于nv,男这个radio作对比,没有这个效果. 1 <div> 2 <label for="nan1">男</label> 3

jstl中的choose标签

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><html><head> <title>choose标签</title></head>&

Mybatis中的CDATA标签的用法

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data). 在 XML 元素中,"<" 和 "&" 是非法的. "<" 会产生错误,因为解析器会把该字符解释为新元素的开始. "&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始. 某些文本,比如 JavaScript 代码,包含大量 "<" 或 "

mapper中的CDATA标签的用法

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data). 在 XML 元素中,"<" 和 "&" 是非法的. "<" 会产生错误,因为解析器会把该字符解释为新元素的开始. "&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始. 某些文本,比如 JavaScript 代码,包含大量 "<" 或 "