[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-583) EL MethodExpression fails to find overloaded methods properly

Jasper Bryant-Greene (JIRA) jira-events at jboss.com
Tue Dec 12 21:53:37 EST 2006


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

        



More information about the seam-issues mailing list