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

Reply via email to