我不太确定表达式
有什么问题 ${exception.class.simpleName eq 'AccessDeniedException'}
但它给了我一个javax.el.ELException
。
org.apache.jasper.JasperException: /WEB-INF/jsp/exception/AccessDeniedException.jsp (line: 45, column: 28) "${exception.class.simpleName eq 'AccessDeniedException'}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [${exception.class.simpleName eq 'AccessDeniedException'}]
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)
org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1223)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:875)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:894)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1795)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
我使用Tomcat 7作为Spring的tc Server 2.7的一部分,因此使用javax.el 2.2版。
答案 0 :(得分:1)
从this comment到我之前的答案:
在tomcat 7中(所以使用JSP EL 2.2)你实际上可以做${foo.getClass().simpleName}
并且它有效......
答案 1 :(得分:0)
感谢JB Nizet。我一直在努力解决这个问题。
$ {foo.class}在我的同事的系统上运行正常,因为他使用的是Tomcat6,因为我使用的是“javax.el.ELException”,因为我使用的是Tomcat7。
$ {foo.getClass()}修复了Tomcat7上的问题。