[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-1733) A limitation in the expression language enhancements is not documented

Gavin King (JIRA) jira-events at lists.jboss.org
Fri Jul 27 12:58:47 EDT 2007


    [ http://jira.jboss.com/jira/browse/JBSEAM-1733?page=comments#action_12370281 ] 
            
Gavin King commented on JBSEAM-1733:
------------------------------------

Of course I have read it, and I rejected it because it is not a limitation of the EL. Instead it is to do with your not understanding the state model of JSF. We have been going around in circles on this for days now, and instead of trying to actually *understand* how Seam/JSF works, and how state may be legitimately passed between requests, you are far to busy trying to be "right" and proving that I am wrong/ignorant. Can we please just drop this and get on with real work now.

Eventually, once you get a bit more experience with Seam and insight into state management in JSF and Seam, you will understand why what you are trying to ask for is non-doable.

> A limitation in the expression language enhancements is not documented
> ----------------------------------------------------------------------
>
>                 Key: JBSEAM-1733
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-1733
>             Project: JBoss Seam
>          Issue Type: Task
>          Components: JSF, Documentation, EL
>            Reporter: Wise Guy
>            Priority: Minor
>
> There is a limitation in the expression language enhancements that is not documented. It would look like this:
> ---
> http://docs.jboss.com/seam/2.0.0.B1/reference/en/html/elenhancements.html
> Chapter 29. Expression language enhancements
> 29.1.2. Limitations
> 29.1.2.3. Cannot pass a variable to a MethodBinding
> You may not pass a variable to a MethodBinding, hence the following syntax is not valid:
> <ui:repeat var="curLocale" value="#{localeSelector.supportedLocales}">
>   <s:link value="#{curLocale.label}" action="#{localeSelector.selectLanguage(curLocale.value)}"/>
> </ui:repeat>
> Seam cannot evaluate "curLocale.value" in the rendering phase because it is a part of a MethodBinding. If you need to do implement the same functionality  then use the f:param tag:
> <s:link value="#{curLocale.label}" action="#{localeProvider.updateLocale()}">
>     <f:param name="l" value="#{curLocale.value}"/>
> </s:link>
> Then, having the field variable "l" injected as a @RequestParameter, you would do this:
> public void updateLocale() {
>         if (l != null && l.length() > 0) {
>             localeSelector.selectLanguage(l);
>         }
> }	
> --
> May I also point out that you should merge "29.1. Parameterized Method Bindings"  and "29.2. Parameterized Value Bindings". (2.0.0.B1/reference)
> Thank you for the attention

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list