Tenho o seguinte xhtml:
<?xml version="1.0" encoding="UTF-8" ?>
<!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:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="../templates/_template.xhtml">
<ui:define name="conteudo">
<h:form id="cadastrarUsuario">
<p:fieldset legend="Cadastro de Usuário">
<h:panelGrid columns="2">
<h:outputLabel value="Nome:" for="nome" />
<h:inputText id="nome"
value="#{usuarioBean.usuario.pessoaFisica.noPessoa}">
</h:inputText>
<h:outputLabel value="CPF:" for="cpf" />
<h:inputText id="cpf"
value="#{usuarioBean.usuario.pessoaFisica.nrCpf}" required="true">
</h:inputText>
<h:outputLabel value="E-mail:" for="email" />
<h:inputText id="email"
value="#{usuarioBean.usuario.pessoaFisica.dsEmail}">
</h:inputText>
<h:outputLabel value="Matricula:" for="martricula" />
<h:inputText id="martricula"
value="#{usuarioBean.usuario.pessoaFisica.nrMatricula}">
</h:inputText>
<h:outputLabel value="Login" for="login" />
<h:inputText id="login" value="#{usuarioBean.usuario.noLogin}">
</h:inputText>
<h:outputLabel value="Orgao" for="orgao" />
<h:inputText id="orgao" value="#{usuarioBean.usuario.orgao.id}">
</h:inputText>
<h:outputLabel value="Ativo" for="isAtivo" />
<h:inputText id="isAtivo" value="#{usuarioBean.usuario.isAtivo}">
</h:inputText>
<h:outputLabel value="Administrador" for="isAdmin" />
<h:inputText id="isAdmin" value="#{usuarioBean.usuario.isAdmin}">
</h:inputText>
</h:panelGrid>
<h:panelGrid columns="2">
<p:commandButton value="Voltar" id="voltar"
action="#{usuarioBean.voltar}" icon="fa fa-step-backward" />
<p:commandButton value="Cadastrar" id="cadastrarUsuario"
action="#{usuarioBean.salvar}" icon="fa fa-save" process="@form" />
</h:panelGrid>
</p:fieldset>
</h:form>
</ui:define>
</ui:composition>
</html>
Porém ao clicar no botão "Cadastrar" o método do meu ManagedBean, não é invocado.
Detalhe 1: Em outro xhtml consigo invocar métodos desse mesmo managedBean que só me retorna uma String.
Detalhe 2: Estou jogando no console as fases do JSF, e ao clicar no botão ele faz as fases 1,2,3 e 6.
FASE: RESTORE_VIEW 1 FASE: APPLY_REQUEST_VALUES 2 FASE: PROCESS_VALIDATIONS 3 FASE: RENDER_RESPONSE 6
Segue código do meu MB:
@Controller
@Scope("request")
public class UsuarioBean {
@Autowired
private UsuarioService usuarioService;
private Usuario usuario = new Usuario();
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public List<Usuario> getUsuarios(){
return usuarioService.getAll();
}
public String salvar(){
usuarioService.incluir(usuario);
return "Index";
}
}
Alguém tem ideia do que possa estar acontecendo?