Uploaded image for project: 'Commons EL'
  1. Commons EL
  2. EL-8

[el] Implementation of parseExpression does not implement spec

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0
    • 1.1
    • None
    • Operating System: All
      Platform: All

    • 30910

    Description

      The implementation of parseExpression in the EL expression evaluator does not conform to the JSP 2.0 specification. The javadoc for the fMapper argument states that
      "The ExpressionEvaluatormustnotholdontotheFunctionMapperreferenceafter returning fromparseExpression(). TheExpression object returned must invoke the same functions regardless of whether the mappings in the providedFunctionMapper instance change between calling ExpressionEvaluator.parseExpression() andExpression.evaluate()."

      The test case which I will attach clearly shows that this is not the case.

      Why hasn't anybody noticed this before, you may ask? I suspect that the current implementation of Tomcat never updates the bindings in its function mapper once one is constructed, since the functions are defined at web-app load time and can't be updated after that.

      Attachments

        1. ASF.LICENSE.NOT.GRANTED--function-binding.txt
          42 kB
          Jamie Taylor
        2. ASF.LICENSE.NOT.GRANTED--TestFunctionBinding.java
          3 kB
          Jamie Taylor
        3. EL-8.patch
          4 kB
          Henri Yandell
        4. EL-8-Jamie.patch
          22 kB
          Henri Yandell
        5. TestFunctionBinding.java
          4 kB
          Jamie Taylor

        Activity

          People

            bayard Henri Yandell
            jltaylor@pobox.com Jamie Taylor
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: