jstl中 標簽屬性用法


今天用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>

錯誤解決!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM