Class ELInterpreterTagSetters

java.lang.Object
org.apache.jasper.optimizations.ELInterpreterTagSetters
All Implemented Interfaces:
ELInterpreter

public class ELInterpreterTagSetters extends Object implements ELInterpreter
A non-specification compliant ELInterpreter that optimizes a subset of setters for tag attributes.

The cases optimized by this implementation are:

  • expressions that are solely a literal boolean
  • expressions that are solely a constant string used (with coercion where necessary) with a setter that accepts:
    • boolean / Boolean
    • char / Character
    • BigDecimal
    • long / Long
    • int / Integer
    • short / Short
    • byte / Byte
    • double / Double
    • float / Float
    • BigInteger
    • Enum
    • String
The specification compliance issue is that it essentially skips the first three ELResolvers listed in section JSP.2.9 and effectively hard codes the use of the 4th ELResolver in that list.
See Also:
  • "https://bz.apache.org/bugzilla/show_bug.cgi?id=64872"