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:
Página XHTML:
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
Curtir tópico
+ 0
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" />
Ficaria assim:
<h:commandButton action="#{usuarioBean.salvar()}" value="Salvar" />
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)