Problema ao tentar usar EL para acessar método do bean

Pessoal,

Tenho um “HelloWord” em JSF. A primeira página contém um caixa de texto onde deve ser digitado o nome do usuário e um botão.
Após o prenchimento do formulário, ao se clicar no botão “Go”, deveria aparecer uma outra página, saudando o usuário pelo seu nome.
Acontece, porém, que a EL utilizada para se chamar o método do bean, está causando o seguinte erro :

"SEVERE: org.apache.jasper.el.JspMethodNotFoundException: /hello.jsp(15,5) '#{HelloBean.resposta}' Method not found: beans.HelloBean@c70b0d.resposta()"

Seguem abaixo os códigos-fonte envolvidos

hello.jsp

<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<f:view>
	<html xmlns="http://www.w3.org/1999/xhtml">
		<head>
		<title>Hello Form</title>
		</head>
		<body>
			<h:form>
				<h:panelGrid columns='2'>
					<h:outputText value='Name:'/>
					<h:inputText value='#{HelloBean.name}'/>
					<h:commandButton type='submit' value='Go' action='#{HelloBean.resposta}'/>
				</h:panelGrid>
			</h:form>
		</body>
	</html>
</f:view>

HelloBean.java

package beans;

public class HelloBean {
	
	private String name="";
	private String resposta="sucesso";

	public void setName(String name) {
		this.name = name;
	}

	public String getName() {
		return name;
	}

	public void setResposta(String resposta) {
		this.resposta = resposta;
	}

	public String getResposta() {
		return resposta;
	}	
	
}

faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer
Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<managed-bean>
	<managed-bean-name>HelloBean</managed-bean-name>
	<managed-bean-class>beans.HelloBean</managed-bean-class>
	<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
	<from-view-id>/hello.jsp</from-view-id>
	<navigation-case>
		<from-outcome>sucesso</from-outcome>
		<to-view-id>/mensagem.jsp</to-view-id>
	</navigation-case>
</navigation-rule>
</faces-config>

web.xml

?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>
	Teste</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup> 1 </load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.jsf</url-pattern>
	</servlet-mapping>
</web-app>

Pelo que já li sobre JSF, a linha

...
<h:commandButton type='submit' value='Go' action='#{HelloBean.resposta}'/>
...

da página “hello.jsp” não deveria chamar implicitamente o método “getResposta()” de HelloBean ?
Tentei assim e não deu certo. Aparece o erro supracitado.
Se eu substituir a propriedade “resposta” de HelloBean, pela chamada direta do método getResposta, da seguinte forma

...
<h:commandButton type='submit' value='Go' action='#{HelloBean.getResposta}'/>
...

aparece o erro “The metod getResposta not defined in a named space…”.

Será que alguém poderia me ajudar ?
Agradece,

Max Carvalho

cara é mais ou meno o seguinte.

o

<h:commandButton type='submit' value='Go' action='#{HelloBean.metodoDoManagedBean}'/> 

Chama o metodo lá no seu metodo lá no seu managedbean, então não tem muito motivo para você chamar o resultado.

Para você ter um resultado precisa processar alguma coisa certo, então cria uma metodo lá no managedbean e chama ela, quando dentro dele você coloca um valor no resultado. Ai na sua pagina que manda imprimir o resultado. Acho que é isso que você tá querendo fazer.

O comportamento pra fazer o ‘binding’ de valores é buscar pelo “get” ou “set” correspondente.
Porém, para o valor do atributo “action” esse comportamento é diferente, se vc olhar na documentação, ele espera um método sem parâmetros e que retorne um objeto com toString() implementado para ser usado pelas regras de navegação. Ou seja, ele espera um método que retorne algo e não uma variável (como no seu caso, ‘resposta’), por isso não faz sentido adicionar um “get” ou “set”.

Agora, se você colocar “#{Bean.getResposta}” deveria funcionar. Caso não esteja funcionando, verifique se o getter é publico e está implementado.