Fórum Erro - Cadastro de Usuário com JSF #579669

04/04/2017

0

Boa noite pessoal, estou criando uma tela de cadastro de usuários, porém esbarrei em um erro e não consigo resolver, segue o código e o erro:

package br.com.javaparaweb.teste.web;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
@ManagedBean(name="usuarioBean")
@RequestScoped
public class UsuarioBean {

	private String nome;
	private String email;
	private String senha;
	private String confirmaSenha;
	
	public String novo() {
		return "usuario";
	}
	
	public String salvar() {
		FacesContext context = FacesContext.getCurrentInstance();
		if(!this.senha.equalsIgnoreCase(this.confirmaSenha)) {
			context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Senha confirmada incorretamente",""));
			return "usuario";
		}
		return "mostrausuario";
	}
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}
	public String getConfirmaSenha() {
		return confirmaSenha;
	}
	public void setConfirmaSenha(String confirmaSenha) {
		this.confirmaSenha = confirmaSenha;
	}
	
}


Página XHTML:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
		xmlns:h="http://jcp.org/jsf/html"
		xmlns:f="http://xmlns.jcp.org/jsf/core">	
	<h:head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
		<title>Cadastro de Usuário</title>
	</h:head>
	<h:body>
		<h1>Cadastro de Usuários</h1>
		<hr />
		<h:form acceptcharset="UTF-8">
			<h:messages />
			<h:panelGrid columns="2" >
				<h:outputLabel value="Nome: " for="nome" />
				<h:inputText id="nome" label="Nome" value="#{usuarioBean.nome}" required="true" />
				<h:outputLabel value="e-Mail: " for="senha" />
				<h:inputText id="email" label="e-Mail" value="#{usuarioBean.email}" />
				<h:outputLabel value="Senha: " for="senha" />
				<h:inputSecret id="senha" label="Senha" value="#{usuarioBean.senha}" required="true" />
				<h:outputLabel value="Confirmar Senha: " for="confirmarsenha" />
				<h:inputSecret id="confirmarSenha"  label="Confirmar Senha" value="#{usuarioBean.confirmaSenha}" required="true" />
				<h:outputText />
				<h:commandButton action="#{usuarioBean.salvar}" value="Salvar" />
			</h:panelGrid>
		</h:form>
		<hr />
	</h:body>
</html>


e o erro:

javax.el.ELException: /usuario.xhtml: Property 'salvar' not found on type br.com.javaparaweb.teste.web.UsuarioBean
	at com.sun.faces.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:94)
	at com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82)
	at com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1441)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Unknown Source)
Daniel Moura

Daniel Moura

Responder

Posts

04/04/2017

Victor Rosa

Tente colocar os parênteses no botão de salvar.
Ficaria assim:
<h:commandButton action="#{usuarioBean.salvar()}" value="Salvar" />
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar