Olá Pessoal, estou utilizando um gerador de CRUDS o PrimeFaces CRUD Generator e o o commandbutton não chama o método
ele deveria chamar um método de persistencia mas não estava chamando pensei que era falha no médo mas me dei conta de que era problema com o botão quando troquei o método por um System.out.println e não imprimiu a mensagem que eu coloquei
package BBean;
import entidades.Docente;
import SBean.DocenteFacade;
import java.io.Serializable;
import java.lang.String;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.inject.Named;
import javax.inject.Inject;
import javax.enterprise.context.SessionScoped;
@Named(value = "docenteController")
@SessionScoped
public class DocenteController extends AbstractController<Docente> implements Serializable {
@Inject
private DocenteFacade ejbFacade;
public DocenteController() {
super(Docente.class);
}
@PostConstruct
public void init() {
super.setFacade(ejbFacade);
}
public List<String> getListaSimNao(){
List<String> lista = new ArrayList<String>();
lista.add("Sim");
lista.add("Não");
return lista;
}
public void sout(){
System.out.println("Imprima");
}
}
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<ui:composition>
<p:dialog id="DocenteCreateDlg" widgetVar="DocenteCreateDialog" modal="true" resizable="false" appendToBody="true" header="#{myBundle.CreateDocenteTitle}">
<h:form id="DocenteCreateForm">
<h:panelGroup id="display">
<p:panelGrid columns="2" rendered="#{docenteController.selected != null}">
<p:outputLabel value="#{myBundle.CreateDocenteLabel_nome}" for="nome" />
<p:inputText id="nome" value="#{docenteController.selected.nome}" title="#{myBundle.CreateDocenteTitle_nome}" />
<p:outputLabel value="#{myBundle.CreateDocenteLabel_rf}" for="rf" />
<p:inputText id="rf" value="#{docenteController.selected.rf}" title="#{myBundle.CreateDocenteTitle_rf}" />
<p:outputLabel value="#{myBundle.CreateDocenteLabel_avaliadorexterno}" for="avaliadorexterno" />
<p:selectOneMenu id="avaliadorexterno" value="#{docenteController.selected.avaliadorexterno}" >
<f:selectItems value="#{docenteController.listaSimNao}" var="item" itemLabel="#{item}"/>
</p:selectOneMenu>
<p:outputLabel value="#{myBundle.CreateDocenteLabel_email}" for="email" />
<p:inputText id="email" value="#{docenteController.selected.email}" title="#{myBundle.CreateDocenteTitle_email}" />
<p:outputLabel value="#{myBundle.CreateDocenteLabel_siatuacao}" for="siatuacao" />
<p:inputText id="siatuacao" value="#{docenteController.selected.siatuacao}" title="#{myBundle.CreateDocenteTitle_siatuacao}" />
</p:panelGrid>
<p:commandButton actionListener="#{docenteController.sout}" value="#{myBundle.Save}" update="display,:DocenteListForm:datalist,:growl" oncomplete="handleSubmit(xhr,status,args,DocenteCreateDialog);"/>
<p:commandButton value="#{myBundle.Cancel}" onclick="DocenteCreateDialog.hide();"/>
</h:panelGroup>
</h:form>
</p:dialog>
</ui:composition>
</html>
Obs. vi que tem "N" tópicos relacionados a esse assunto, mas as soluções dadas aos outros não tiveram efeito comigo, tais quais :
Ajax = false
immediate="true" process="@this"
não sei o que pode estar de errado, quanto ao update acho que não tem problema dessa forma