Ryan Wynn wrote:
>I like the direction this is going. My thoughts on this...
>I like the syntax familiar syntax <set-if name="styleClass" 
>value="#{shale:attribute.class}"/>
>
>However, how about instead of inventing a new syntax 
>"#{shale:attribute.class}" we use 
>the existing one. For example
>
> <set name="styleClass" value="#{clayContext.symbols['class']}"/>
>
>This approach assumes that clay has defined the existing clay context as a
>managed-bean in request scope and pushed it's value appropriately during the
>evaluation. So styleClass is evaluted just like any other VB.
>This also takes care of the set-if case, because if the symbol is not
>defined in the symbols map then the result will be null, and you would not
>get <span class="">..</span> but rather the correct response of
><span>...</span> in the case that the class symbol is not set.
>
>So just to explain further.. in clays faces-config.xml
> <managed-bean>
> <managed-bean-name>clayContext</managed-bean-name>
> <managed-bean-class>org.apache.shale.clay.component.chain.ClayContext
></managed-bean-class>
> <managed-bean-scope>request</managed-bean-scope>
></managed-bean>
>
>That way there is not need to invent a new el evaluation and no need to add
><set-if>

Ryan, you have a good point.  This could be made simpler in terms of 
implementation.  But, it sounds as if the namespace qualifier is more inline 
with the future of EL.  I wouldn't be against the simpler syntax but the 
"#{shale:managed-bean-name.save}" looks pretty slick.

I don't think the managed bean name would work with this syntax 
"#{symbols['managed-bean-name'].saveAction} since it's a partial replacement.

I guess that something like this might work, '#{managedBeanName['save']}', 
where the managedBeanName is a custom map implementation and it returns another 
expression, #{mybean.save}.



Gary






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to