[jsr-314-open] [AjaxBehaviorEventAttribute] why must it be a literal?
Norbert Truchsess
norbert.truchsess at t-online.de
Fri Aug 28 04:24:38 EDT 2009
Am Donnerstag, den 27.08.2009, 09:38 -0400 schrieb Andy Schwartz:
> Hi Ed -
>
> Ed Burns wrote:
> > Which begs the question:
see: http://begthequestion.info/
> > do we need to re-introduce immediate evaluation
> > for EL expressions? In other words, do we bring back $?
> >
>
Andy wrote:
> I don't believe that this is necessary. Facelets of course does not
> support the concept of "immediate" expressions - ie. the Facelets engine
> itself does not evaluate EL expressions. I don't believe that we want
> to change this.
the Facelets-Taghandler-API actually does support immediate evaluation
of tag-attributes. See javadoc of:
javax.faces.view.facelets.TagAttribute.getObject()
What Facelets doesn't support is recognising '$' as indicator for
immediate evaluation (and making use of it in ComponentHandler-class).
> Instead, we should simply follow the pattern that is
> already used by other tags that evaluate EL expressions during
> tag/handler execution, such as the JSTL tags. That is, we should allow
> the Facelets engine to create a (deferred) ValueExpression that happens
> to be evaluated by the Behavior handler when the handler is applied,
> similar to the way the c:forEach "items" attribute is handled today.
>
I'm in favor to support '$' for immediate-evaluation (for any
attribute). It allows the page-author to indicate that an attributes
value is not intendet to change during the lifetime of that view. (Which
saves quite a number of redundant re-evaluations of EL-Expressions)
- Norbert
> Andy
>
> > Ed
> >
> >
>
More information about the jsr-314-open-mirror
mailing list