tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Thomas <>
Subject Re: DO NOT REPLY [Bug 43819] Support latest JSR245 proposal to make EL "self-contained"
Date Mon, 04 Jan 2010 08:48:08 GMT
On 31/12/2009 17:55, wrote:
> --- Comment #17 from Mark Thomas <> 2009-12-31 09:55:14 GMT ---
> (In reply to comment #16)
>> I think package org.apache.jasper.compiler needs some changes too, though this
>> might not be in the scope of this bug.
> Correct. This discussion should be continued on the dev list.
>> The ELParser class seems to parse
>> expressions using its own internal parsing mechanism
> As far as I recall (and it is a while since I looked at the EL code) that
> parser just parses something - eg an attribute value - into bits that are an
> expression and bits that are not. It doesn't parse the actual expressions.

This isn't quite correct. The Jasper parser currently looks at:
- type of expression (${...}, #{...} or none
- functions in the expression

>> and doesn't support syntax for method invocations which is part of EE6.
> Nothing does yet. That is still on the Tomcat 7 todo list. Oddly enough I am
> working on it at the moment. First step will be to update the jtt file.
>> To eliminate redundancy, the code should probably be refactored to use an
>> expression factory instead.
> I'm not sure that refactoring is needed.

My first attempt to add method invocation support hit an issue in that
the Jasper parser thought it was a function. In an effort of avoid
adding method invocation support to the Jasper parser and the EL parser,
I am now looking at this re-factoring.

There is an issue in that the EL parser does not provide a mechanism to
distinguish between ${...} and #{...} so Jasper will have to do a little
parsing. I've refactored this part and am currently looking to see if I
can refactor the function validation code to use the EL parser. My
current ideas are around using a function mapper that checks the TLDs
when resolve() is called during the parsing process but I haven't had a
chance to try coding it yet. Hopefully, I'll get some time early this week.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message