Details

    • Complexity:
      Low

      Description

      Tomcat recent added a change to support the changes in EL Spec 2.2[1] not allowing use of Java keywords

      We should also fix it by not using Java keywords (piv.class.name - "class" in this instance) inside of JSTL expressions.
      I'm not sure if there is a generic way to deal with this... but a codestyle might be useful to check where we are using Java keywords in JSTL. -Saptarshi

      Some versions of tomcat will have this:

      org.apache.jasper.JasperException: /WEB-INF/view/admin/patients/patientIdentifierTypeForm.jsp (line: 95, column: 6) "${status.value == piv.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [${status.value == piv.class.name}]
             at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
             at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)
             at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)
             at org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)
             at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)
             at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
             at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
             at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
             at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)
             at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
             at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
             at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
      

      Current workaround is this:
      Create/add the following to CATALINA_OPTS env var with the value: "-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true"

      Example code fix is this:
      Change in line94 and line95 of patientIdentifierTypeForm.jsp from piv.class.name to piv['class'].name
      (and conceptForm page, etc)

      [1] http://jcp.org/aboutJava/communityprocess/mrel/jsr245/index.html

        Gliffy Diagrams

          Attachments

            Issue Links

              Attachments-Category-Modification

                Activity

                  People

                  • Assignee:
                    sunbiz Saptarshi Purkayastha
                    Reporter:
                    bwolfe Ben Wolfe
                  • Votes:
                    0 Vote for this issue
                    Watchers:
                    3 Start watching this issue

                    Dates

                    • Created:
                      Updated:
                      Resolved: