[
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