According to TLD or attribute directive in tag file, attribute value does not accept any expressions



According to TLD or attribute directive in tag file, attribute value does not accept any expressions

1、错误描述

 


  1. 2014-7-13 17:27:21 org.apache.jasper.compiler.TldLocationsCache tldScanJar
  2. 信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
  3. 2014-7-13 17:27:21 org.apache.catalina.core.StandardWrapperValve invoke
  4. 严重: Servlet.service() for servlet [jsp] in context with path [/FirstSSH] threw exception [/pages/pathTags.jsp (line: 11, column: 0) According to TLD or attribute directive in tag file, attribute value does not accept any expressions] with root cause
  5. org.apache.jasper.JasperException: /pages/pathTags.jsp (line: 11, column: 0) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
  6.     at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
  7.     at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443)
  8.     at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:149)
  9.     at org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1241)
  10.     at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:876)
  11.     at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1538)
  12.     at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375)
  13.     at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2427)
  14.     at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2433)
  15.     at org.apache.jasper.compiler.Node$Root.accept(Node.java:474)
  16.     at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375)
  17.     at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2427)
  18.     at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:536)
  19.     at org.apache.jasper.compiler.Node$IncludeDirective.accept(Node.java:638)
  20.     at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375)
  21.     at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2427)
  22.     at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2433)
  23.     at org.apache.jasper.compiler.Node$Root.accept(Node.java:474)
  24.     at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375)
  25.     at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1825)
  26.     at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)
  27.     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
  28.     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
  29.     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
  30.     at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
  31.     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
  32.     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
  33.     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
  34.     at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
  35.     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
  36.     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  37.     at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:96)
  38.     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  39.     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  40.     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
  41.     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
  42.     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
  43.     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
  44.     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
  45.     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
  46.     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
  47.     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
  48.     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
  49.     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
  50.     at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2441)
  51.     at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2430)
  52.     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
  53.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
  54.     at java.lang.Thread.run(Thread.java:619)

2、错误原因

 

        JSTL core库的有两种taglib伪指令, 其中RT库即是依赖于JSP传统的请求时属性值, 而不是依赖于EL来实现(称为EL库.JSP2.0将支持EL)
JSP中使用<%@ taglib uri=http://java.sun.com/jstl/core prefix=”c”%>在2.3版本都可以,在2.4就不行了

 

3、解决办法

     将以下一句:

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

     改成

<%@ taglib prefix=”c” uri=”http://java.sun.com/jstl/core_rt” %>

     就可以了