Olá pessoal, sou inciante nestas tecnologias e estou com problema para enviar objeto do meu p:dataTable para o meu Bean, tenho dois forms na pagina xhtml, um com os campos input que eu salvo os objetos e outro form que eu listo os últimos objetos salvos através de um dataTable, no form dos input esta tudo certo envio e consigo salvar os dados, no form do dataTable eu não consigo enviar nenhum dos objetos para o bean para que eu possa joga-lo para o outro form para editar ou possa exclui-lo diretamente. Já testei a aplicação e sei que o método editar e o método excluir são chamados, porem o objeto em questão não vai pra o bean. Segue o código: <h:form id="tables">
<p:dataTable id="tabela" value="#{cadProtocoloBean.protocolos}"
var="protocolo" emptyMessage="Não há registro há exibir!"
paginator="false" rows="50" widgetVar="protocoloTabela"
filteredValue="#{cadProtocoloBean.protocolosFiltrados}" >
<f:facet name="header">
<p:outputPanel style="float:right;">
<h:outputText value="Procurar: " />
<p:inputText id="globalFilter"
onkeyup="protocoloTabela.filter()" style="width:150px" />
</p:outputPanel>
</f:facet>
<p:column headerText="Editar/Excluir">
<p:commandButton icon="ui-icon-arrowrefresh-1-w"
action="#{cadProtocoloBean.setProtocolo(protocolo)}"
update="@(:editar)" />
<p:commandButton id="showDialogButton"
onclick="confirmation.show()" icon="ui-icon-close" title="Views">
<f:setPropertyActionListener value="#{protocolo}"
target="#{cadProtocoloBean.protocoloSelecionado}" />
</p:commandButton>
</p:column>
<p:column headerText="Núm. Protocolo"
filterBy="#{protocolo.codProtocolo}" filterMatchMode="exact">
<h:outputText value="#{protocolo.codProtocolo}" />
</p:column>
</p:dataTable></h:form>
Segue bean:[code]
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.application.FacesMessage.Severity;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import org.apache.commons.mail.EmailException;
import org.primefaces.model.StreamedContent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
@Component
@Scope(“request”)
public class CadProtocoloBean {
@Autowired
private ICadProtocolo protocoloService;
@Autowired
private IUsuarioService usuarioService;
private Protocolo protocolo = new Protocolo();
private Protocolo protocoloSelecionado;
private List<Protocolo> protocolos = new ArrayList<Protocolo>();
private List<Protocolo> protocolosFiltrados = new ArrayList<Protocolo>();
private StreamedContent arquivoRetorno;
private int tipoRelatorio;
private int diasEmAberto;
private String msg, msgDetalhe, messager;
private Severity tipoMsg = FacesMessage.SEVERITY_INFO;
public void excluir() throws FalhaDeExclusaoException,
FalhaDePesquisaException {
if ((enviaEMAILService.listarEmails(this.protocoloSelecionado)
.isEmpty())
&& (enviaSMSService.listarMensagens(this.protocoloSelecionado)
.isEmpty())) {
protocoloService.delete(this.protocoloSelecionado);
protocolos.remove(this.protocoloSelecionado);
protocolosFiltrados.remove(this.protocoloSelecionado);
protocolo = new Protocolo();
benf = new Beneficiario();
coop = new Cooperado();
MensagemBean.mensagem(FacesMessage.SEVERITY_INFO,
"Protocolo excluído com sucesso", "");
} else {
tipoMsg = FacesMessage.SEVERITY_WARN;
msg = ("Este protocolo não pode ser excluído porque já foi enviado e-mail.");
msgDetalhe = ("");
mensagem();
}
}
public Protocolo getProtocolo() {
return protocolo;
}
public void setProtocolo(Protocolo protocolo) {
this.coop = protocolo.getCooperado();
this.benf = protocolo.getBeneficiario();
this.protocolo = protocolo;
}[/code]
Segue web.xml
[code]
<?xml version="1.0" encoding="UTF-8"?>
ProtocoloDeAtendimento
javax.faces.CONFIG_FILES
/WEB-INF/faces-config.xml
contextConfigLocation
/WEB-INF/applicationContext.xml
/WEB-INF/applicationContext-security.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
Faces Servlet
javax.faces.webapp.FacesServlet
1
Faces Servlet
.jsf
Faces Servlet
.xhtml
Faces Servlet
/faces/
40
javax.servlet.ServletException
/publico/login.xhtml
javax.faces.PROJECT_STAGE
Development
publico/login.xhtml
javax.faces.STATE_SAVING_METHOD
client
javax.servlet.jsp.jstl.fmt.localizationContext
resources.application
com.sun.faces.config.ConfigureListener
DataSource protocolo
jdbc/protocolo
javax.sql.DataSource
Container
Mail Session
mail/Session
javax.mail.Session
Container
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/
primefaces.THEME
hot-sneaks
[/code]
Segue faces config
[code]<?xml version="1.0"?>
<application>
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
</application>
[/code]