John,
maybe this gif (JSF 1.1) is helpful too
http://autoren.w3l.de/w3lmedia/W3L/Medium036198/ausdruecke.gif
On 7/28/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
On 7/28/06, John Conner <[EMAIL PROTECTED]> wrote:
> I have just started with JSF and have been playing around with el
> expressions in the rendered property of components. Is there someplace
> that explains what is valid/invalid as an expression for this property?
The JSF 1.1 spec (JSR-127) under 5.1.2 "Value Binding Expression
Syntax", which starts off by saying
"The syntax of a value binding expression is identical to the syntax
of an expression
language expression defined in the JavaServer Pages Specification (version 2.0),
sections 2.3 through 2.9, with the following exceptions..."
> Specifically is it possible to:
> 1. Use an and condition like
> rendered="#{mb.propertyBoolean1 && mb.propertyBoolean2}"
Yes, although I'd recommend using "and" instead of "&&" (I don't
remember if it's & or && in any case, but this avoids that issue as
well as escaping issues).
> 2. Is it possible to compare to an enum value
> rendered="#{mb.enumValue == a.b.c.EnumClass.ENUM_VALUE}"
I don't think so since variables must be managed beans or one of the
other predefined values. However, you could write your own resolver
that also checked for enumeration classes.
> 3. Use a complex call like
> rendered="#{mb.someFunction(mb2.value1)}"
Only if you're using Facelets or another viewhandler that lets you
define functions.
For JSF 1.2, everything is the JSP 2.0 unified EL. I think this is
also what Facelets uses underneath as an espression language (I have
el-api.jar and el-ri.jar files from glassfish to make it work).
In any case, everything about the expression language is configurable.
A long while back, someone posted a replacement EL that was
javascript.
--
Matthias Wessendorf
further stuff:
blog: http://jroller.com/page/mwessendorf
mail: mwessendorf-at-gmail-dot-com