-1

I use maven + jetty plugin (6.1.26) , in jsp page , I write ${title_name} work fine . but if i write ${title_name == null? "default name" : title_name} , it throw Exception like this : org.apache.jasper.JasperException: /WEB-INF/views/layout/header.jsp(13,9) PWC6038: "${header_title==null?"defaultName":header_title }" contains invalid expression(s): javax.el.ELException: Error Parsing: ${header_title==null?"defaultName":header_title } at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:78) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:373) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:185) at org.apache.jasper.compiler.JspUtil.validateExpressions(JspUtil.java:649) at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:752) at org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:946) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2291) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2341) at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2347) at org.apache.jasper.compiler.Node$Root.accept(Node.java:498) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2291) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2341) at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:541) at org.apache.jasper.compiler.Node$IncludeDirective.accept(Node.java:647) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2291) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2341) at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2347) at org.apache.jasper.compiler.Node$Root.accept(Node.java:498) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2291) at org.apache.jasper.compiler.Validator.validate(Validator.java:1853) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:210) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:435) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:360) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)

but all of the expression above is worked fine in tomcat , what should I do?

lostmarine
  • 39
  • 4

1 Answers1

1

Jetty changed during its versions EL parsers, version 6.X should use glassfish or jboss EL parse... since version 9 they moved to apache EL parsers.

Possible solutions:

Add apache jasper & el jars to project (Bad workaround) Move to jetty 9 and everything should work fine!

Michele C.
  • 71
  • 1
  • 11