[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-583) EL MethodExpression fails to find overloaded methods properly
by Jasper Bryant-Greene (JIRA)
EL MethodExpression fails to find overloaded methods properly
-------------------------------------------------------------
Key: JBSEAM-583
URL: http://jira.jboss.com/jira/browse/JBSEAM-583
Project: JBoss Seam
Issue Type: Bug
Components: JSF
Affects Versions: 1.1.0.CR1
Environment: JBoss 4.0.5.GA, 64-bit 1.5 VM, Apache MyFaces 1.1, Facelets
Reporter: Jasper Bryant-Greene
We have the following SLSB:
@Stateless
@Name("admin.clientManager")
@Scope(ScopeType.SESSION)
public class ClientManagerAction implements ClientManager {
@In @Out private Client client;
public String view() {
return "/j/admin/client.xhtml";
}
public String view(Client client) {
this.client = client;
return view();
}
public Client getClient() {
return client;
}
public void setClient(Client client) {
this.client = client;
}
}
We try to call the overloaded view(Client client) method from a view as follows:
<s:link action="#{admin$clientManager.view(domain.client)}" value="#{domain.client.firstName} #{domain.client.lastName}" />
JSF seems to not find the overloaded method, and instead throws this exception:
2006-12-13 15:33:41,246 ERROR [org.apache.myfaces.lifecycle.PhaseListenerManager] Exception in PhaseListener RENDER_RESPONSE(6) beforePhase.
javax.faces.el.EvaluationException: No method found for expression #{admin$clientManager.view(domain.client)}. Method name and number of params must match.
at org.jboss.seam.actionparam.ActionParamBindingHelper.findParamTypes(ActionParamBindingHelper.java:115)
at org.jboss.seam.actionparam.ActionParamBindingHelper.invokeTheExpression(ActionParamBindingHelper.java:56)
at org.jboss.seam.actionparam.ActionParamMethodBinding.invoke(ActionParamMethodBinding.java:71)
at org.jboss.seam.core.Expressions$2.invoke(Expressions.java:95)
at org.jboss.seam.core.Pages.callAction(Pages.java:366)
at org.jboss.seam.jsf.AbstractSeamPhaseListener.callPageActions(AbstractSeamPhaseListener.java:252)
at org.jboss.seam.jsf.AbstractSeamPhaseListener.beforeRender(AbstractSeamPhaseListener.java:201)
at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:51)
at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:70)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:373)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
[snip]
I will take a look at the code tonight, it looks fairly simple and I may be able to come up with something.
--
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