Erro JSF, metodo nao encontrado

3 respostas
J
Estou tentando fazer um simples navegador de paginas, parece que havia funcionado, no dia seguinte quando rodei novamente nao funfo mais.
package domain;

import javax.faces.context.FacesContext;

public class Navigation {

	private String url = "/pages/index.jsp";

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}
	
	public String Open(){
		String url = (String)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("url");
		setUrl(url);
		return "";
	}
}
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<!-- RichFaces tag library declaration -->
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<html>
<head>
      <title>RichFaces Greeter</title>
</head>
      <body>
            <f:view>
                  <a4j:form id="f_atendimento">
       				<div id="divMenu">
       					<rich:toolBar>
	       					<rich:dropDownMenu value="Arquivo" submitMode="ajax" >
	       						<rich:menuItem value="Atendimento" submitMode="ajax" action="#{navigation.open}" reRender="divCorpo">
	       							<a4j:actionparam name="url" value="/pages/atendimento.jsp"/>
	       						</rich:menuItem>
	       						<rich:menuItem value="Cliente" submitMode="ajax" action="#{navigation.open}" reRender="divCorpo">
	       							<a4j:actionparam name="url" value="/pages/cliente.jsp"/>
	       						</rich:menuItem>
	       						<rich:menuItem value="Colaborador" submitMode="ajax" action="#{navigation.open}" reRender="divCorpo">
	       							<a4j:actionparam name="url" value="/pages/colaborador.jsp"/>
	       						</rich:menuItem>
	       						<rich:menuItem value="Movimentação" submitMode="ajax" action="#{navigation.open}" reRender="divCorpo">
	       							<a4j:actionparam name="url" value="/pages/movimentacao.jsp"/>
	       						</rich:menuItem>
	       						<rich:menuItem value="Produtos" submitMode="ajax" action="#{navigation.open}" reRender="divCorpo" limitToList="true">
	       							<a4j:actionparam name="url" value="/pages/produto.jsp"/>
	       						</rich:menuItem>	       		       											       							       							       							       			
	       					</rich:dropDownMenu>
	       					
       					</rich:toolBar>
       					<h:messages />
       				</div>
       				<div id="divCorpo">
       					<jsp:include page="#{navigation.url}"></jsp:include>
       				</div>
                  </a4j:form>
            </f:view>
      </body>
</html>
<?xml version="1.0" encoding="UTF-8"?>

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
    version="1.2">

	<managed-bean>
		<managed-bean-name>atendimento</managed-bean-name>
		<managed-bean-class>beans.AtendimentoBean</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
	<managed-bean>
		<managed-bean-name>navigation</managed-bean-name>
		<managed-bean-class>domain.Navigation</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>
	
	<navigation-rule>
		<from-view-id>/index.jsp</from-view-id>
		<navigation-case>
			<from-outcome></from-outcome>
			<to-view-id>/index.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	<navigation-rule>
		<from-view-id>*</from-view-id>
		<navigation-case>
			<from-outcome></from-outcome>
			<to-view-id>/index.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
</faces-config>
erro
javax.faces.FacesException: Error calling action method of component with id f_atendimento:j_id_jsp_1338509439_4
	at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
	at javax.faces.component.UICommand.broadcast(UICommand.java:141)
	at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
	at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
	at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
	at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:151)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.el.MethodNotFoundException: org.apache.jasper.el.JspMethodNotFoundException: /index.jsp(17,14) '#{navigation.open}' Method not found: [email removido]()
	at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:80)
	at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:57)
	... 28 more
Caused by: org.apache.jasper.el.JspMethodNotFoundException: /index.jsp(17,14) '#{navigation.open}' Method not found: [email removido]()
	at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:71)
	at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:78)
	... 29 more
Se alguem puder ajudar eu agradeco.

3 Respostas

tnaires

Isso é porque você escreveu o método Open() com “o” maiúsculo, e na página usou o open com “o” minúsculo.
Declare o método open() no managed bean com “o” minúsculo.

J

Bobera minha, arrumei tambem para resgatar o parametro, ja
que estava resgatando da sessao. Funcionou perfeitamente.
Obrigado

wellton

ô amigo, como foi que vc conseoguiu fazer pra pegar o parametro e não a sessão??? tô dendo o mesmo erro q vc tava tendo! pode responder por favor???

Criado 29 de maio de 2009
Ultima resposta 21 de nov. de 2009
Respostas 3
Participantes 3