[
http://jira.jboss.com/jira/browse/JBSEAM-1733?page=comments#action_12370285 ]
Gavin King commented on JBSEAM-1733:
------------------------------------
For example, the following works:
@Name("foo")
@Scope(CONVERSATION)
public class Foo() { ... }
@Name("bar")
public class Bar() {
public void bar(Foo foo);
}
<s:link action="#{bar.bar(foo)}"/>
And even this works:
@Name("foos")
@Scope(CONVERSATION)
public class Foos() implements DataModel { ... }
@Name("bar")
public class Bar() {
public void bar(Foo foo);
}
<ui:repeat value="#{foos}" var="foo">
<s:link action="#{bar.bar(foo)}"/>
</ui:repeat>
The only "limitation" is that you can't pass an object that only exists in
one context into a totally different context. It should be clear that this is a perfectly
reasonable restriction.
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