Pessoal boa tarde, fiz um sistema com o primifaces 3.0 e o meu método de excluir não funcionava de jeito nenhum, quando eu mudei para o primifaces 2.2 ele funcionou tranquilamente, sem mudaro código, felizmente eu tenho que trabalhar com a versão 3.0 em diante, vou colocar o erro abaixo, se tiver alguém que possa me ajudar…
ERRO
16:01:01,684 ERROR [stderr] (http--0.0.0.0-8080-4) java.lang.IllegalArgumentException: id to load is required for loading
ManagedBen
[code]public void eliminar() throws StartupException {
FuncionarioFacade.removerFuncionario(funcionario);
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(null, new FacesMessage("Funcionario removido com sucesso!"));
funcionario = new Funcionario();
}[/code]
[code]XHTML
<h:body>
<ui:composition template="/WEB-INF/facelets/template.xhtml">
<ui:define name=“conteudoPagina”>
<!-- Formilario de botão novo Cliente -->
<h:form>
<p:commandButton value=" Novo Funcionario" actionListener="#{funcionarioBean.prepararInserir()}"
update=":frmNovo:pgNovo" oncomplete="dlgNovo.show();" icon="icom-add" />
</h:form><br/>
<h:form id="frmFuncionarios">
<p:dataTable id="datatable" var="funcionario" value="#{funcionarioBean.funcionarios}"
emptyMessage="Não existem Integrantes disponíveis!"
paginator="true" rows="10" paginatorPosition="bottom"
paginatorTemplate=" {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15">
<p:column headerText="ID">
<h:outputText value="#{funcionario.idFuncionario}" />
</p:column>
<p:column headerText="Nome" filterBy="#{funcionario.nome}">
<h:outputText value="#{funcionario.nome}" />
</p:column>
<p:column headerText="Cargo">
<h:outputText value="#{funcionario.cargo}" />
</p:column>
<p:column style="width:15% text-aling: center">
<p:commandButton update=":frmEditar:pgEditar" actionListener="#{funcionarioBean.prepararAtualizar(funcionario.idFuncionario)}"
oncomplete="dlgEditar.show();" icon="icom-edit" title="Editar" />
<p:commandButton update=":frmEliminar" oncomplete="dlgEliminar.show();" icon="icom-delete" title="Eliminar" />
</p:column>
</p:dataTable>
</h:form>
<!-- Form Novo Funcionario -->
<h:form id="frmNovo">
<p:dialog header="Novo Funcionario" widgetVar="dlgNovo" resizable="false" id="dlgNovo" modal="true">
<p:growl id="growlNovo" sticky="true" />
<h:panelGrid id="pgNovo" columns="2" cellpadding="4" style="margin:0 auto;">
<h:outputText value="Nome:" />
<h:outputText value="Cargo:" />
<p:inputText value="#{funcionarioBean.funcionario.nome}" style="width: 200px" />
<p:inputText value="#{funcionarioBean.funcionario.cargo}" style="width: 200px" />
</h:panelGrid>
<p:separator />
<!-- Salvar e Cancelar -->
<p:commandButton value=" Salvar" update=":frmFuncionarios:datatable, growlNovo, dlgNovo"
actionListener="#{funcionarioBean.inserir()}" oncomplete="dlgNovo.hide()" icon="icom-salvar" />
<p:commandButton value=" Cancelar" update=":frmFuncionarios:datatable" oncomplete="dlgNovo.hide()"
icon="icom-cancelar" />
</p:dialog>
</h:form>
<h:form id="frmEditar">
<p:dialog header="Editar Funcionario" widgetVar="dlgEditar" resizable="false" id="dlgEditar" modal="true">
<p:growl id="growlEditar" sticky="true" />
<h:panelGrid id="pgEditar" columns="2" cellpadding="4" style="margin:0 auto;">
<h:outputText value="Nome:" />
<h:outputText value="Cargo:" />
<p:inputText value="#{funcionarioBean.funcionario.nome}" style="width: 200px" />
<p:inputText value="#{funcionarioBean.funcionario.cargo}" style="width: 200px" />
</h:panelGrid>
<p:separator />
<!-- Salvar e Cancelar -->
<p:commandButton value=" Atualizar" update=":frmFuncionarios:datatable, growlEditar, dlgEditar"
actionListener="#{funcionarioBean.atualizar()}" oncomplete="dlgEditar.hide()" icon="icom-salvar" />
<p:commandButton value=" Cancelar" update=":frmFuncionarios:datatable" oncomplete="dlgEditar.hide()"
icon="icom-cancelar" />
</p:dialog>
</h:form>
<!-- DELETAR FUNCIONARIO -->
<h:form id="frmEliminar">
<p:growl id="growlEliminar" sticky="true" />
<p:confirmDialog id="dlgEliminar" message="Deseja Deletar este Funcionario?"
header="Deletar Funcionario" severity="alert" widgetVar="dlgEliminar">
<p:commandButton value=" Eliminar" update=":frmFuncionarios:datatable, growlEliminar, dlgEliminar"
actionListener="#{funcionarioBean.eliminar()}" oncomplete="dlgEliminar.hide()" icon="icom-salvar" />
<p:commandButton value=" Cancelar" update=":frmFuncionarios:datatable" oncomplete="dlgEliminar.hide()"
icon="icom-cancelar" />
</p:confirmDialog>
</h:form>
</ui:define>
</ui:composition>
</h:body>
[/code]Este mesmo codigo no primifaces 2.2 funciona direitinho.