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
Controller :
[code]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 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”);
}
}
[/code]
Código com o Botão
[code]
<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>
[/code]
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"
Opa, aparentemente ta certo, a unica coisa que ta diferente do que eu costumo fazer é a virgula separando os atributos do update, eu costumo deixar espaço.
então, AmauriSpPoa porém ele não funciona
não sei o que pode estar de errado, quanto ao update acho que não tem problema dessa forma
Coloca um messages pra ver se ocorre algum erro de validação no ciclo de vida do JSF:
<h:form id="formMensagem">
<p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" />
</h:form>
Boa noite.
Altere
actionListener="#{docenteController.sout}"
para
action="#{docenteController.sout}"
Edson Donizete e jonas.cant tentei as duas sujestões sem sucesso 
Vamos tentar por etapa, se você colocar só esses atributos abaixo no seu botão, ele funciona ?
<p:commandButton actionListener="#{docenteController.sout()}" value="teste">
Depois tenta colocando isso aqui :
<p:commandButton actionListener="#{docenteController.sout()}" value="teste" process="@form" immediate="true">
o actionListener espera que no Bean haja um método com um parâmetro da classe ActionEvent:
public void sout(ActionEvent evento){
System.out.println("Imprima");
}
Não estou conseguindo postar o erro, esta aparecendo uma pagina escrito: “500 Internal Server Error”
agora esta aparecendo isso ai, o servidor liga da pra acessa a aplicação mas não chama o metodo
mesmo com esse problema tentei sua sujestao gustavo_souza e não funcionou
obs. a mensagem abaixo apareceu mesmo antes de eu tentar sua sujestão
java.io.IOException: Uma conexão estabelecida foi anulada pelo software no computador host
at sun.nio.ch.SocketDispatcher.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:89)
at sun.nio.ch.IOUtil.write(IOUtil.java:46)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:450)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.flushByteBuffer(TCPNIOTransport.java:1252)
at org.glassfish.grizzly.nio.transport.TCPNIOAsyncQueueWriter.write0(TCPNIOAsyncQueueWriter.java:107)
at org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write(AbstractNIOAsyncQueueWriter.java:296)
at org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write(AbstractNIOAsyncQueueWriter.java:203)
at org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write(AbstractNIOAsyncQueueWriter.java:73)
at org.glassfish.grizzly.nio.transport.TCPNIOTransportFilter.handleWrite(TCPNIOTransportFilter.java:128)
at org.glassfish.grizzly.filterchain.TransportFilter.handleWrite(TransportFilter.java:191)
at org.glassfish.grizzly.filterchain.ExecutorResolver$8.execute(ExecutorResolver.java:111)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.filterchain.FilterChainContext.write(FilterChainContext.java:853)
at org.glassfish.grizzly.filterchain.FilterChainContext.write(FilterChainContext.java:822)
at org.glassfish.grizzly.http.io.OutputBuffer.flushBuffer(OutputBuffer.java:1011)
at org.glassfish.grizzly.http.io.OutputBuffer.write(OutputBuffer.java:676)
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:355)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:342)
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:161)
at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.java:458)
at com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:343)
at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:153)
at org.primefaces.application.PrimeResourceHandler.handleResourceRequest(PrimeResourceHandler.java:99)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:643)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
at java.lang.Thread.run(Thread.java:722)