Criei um formulario simples, ao submeter ele executa o método mas não me redireciona
UsuarioBean:
@Model
public class UsuarioBean {
@Inject
private UsuarioDao usuarioDao;
@Inject
private Usuario usuario;
private String confirmaSenha;
@Transactional
public String cadastrar() {
if(usuario.getSenha().equals(confirmaSenha)) {
usuarioDao.persist(usuario);
return "index?faces-redirect=true";
}
return "cadastrar";
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public String getConfirmaSenha() {
return confirmaSenha;
}
public void setConfirmaSenha(String confirmaSenha) {
this.confirmaSenha = confirmaSenha;
}
}
Formulario:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="/templates/_home_template.xhtml">
<ui:define name="title">Cadastrar</ui:define>
<ui:define name="body">
<h:form >
<p:fieldset legend="Cadastrar">
<h:panelGrid columns="3" >
<h:outputLabel value="Email:" for="email" />
<p:inputText id="email" value="#{usuarioBean.usuario.email}" required="true" requiredMessage="Insira um email" validatorMessage="falta inserir @xxx">
<f:validateRegex pattern=".+@+.+"/>
</p:inputText>
<p:message for="email"/>
<h:outputLabel value="Nome Completo:" for="nome" />
<p:inputText id="nome" value="#{usuarioBean.usuario.nome}" required="true" requiredMessage="Insira um nome"/>
<p:message for="nome"/>
<h:outputLabel value="Senha:" for="senha" />
<p:password value="#{usuarioBean.usuario.senha}" id="senha" feedback="true" required="true" requiredMessage="Insira uma senha">
<f:validateLength minimum="5" />
</p:password>
<p:message for="senha"/>
<h:outputLabel value="Confirmar senha:" for="confirmarSenha" />
<p:password value="#{usuarioBean.confirmaSenha}" id="confirmarSenha" required="true" requiredMessage="Repita a senha">
<f:validateLength minimum="5" />
</p:password>
<p:message for="confirmarSenha"/>
<p:commandButton value="Cadastrar" action="#{usuarioBean.cadastrar()}" ajax="false" />
</h:panelGrid>
</p:fieldset>
</h:form>
</ui:define>
</ui:composition>
</html>