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

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


     [ http://jira.jboss.com/jira/browse/JBSEAM-583?page=all ]

Jasper Bryant-Greene closed JBSEAM-583.
---------------------------------------

    Resolution: Rejected

Sorry, my bad, I'd left the overload out of the interface...

> 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:
> <code>
> @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;
> 	}
> }
> </code>
> 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