Pessoal,
Estou há alguns dias com dois problemas aqui, e não estou conseguindo resolver.
1º - Na minha página CadCliente.xhtml, o erro é na tag AppendToBody: “O atributo appendToBody não está definido no componete dialog”. Abaixo o código.
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>TODO supply a title</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</h:head>
<h:body>
<ui:composition template="./template.xhtml">
<ui:define name="content">
<p:panel header="Clientes..." style="width: 750px">
<h:form id="frmMsgErro">
<h:panelGroup id="pnlMsgErros">
<p:messages id="msgErros" rendered="#{cadClienteMB.showMsgErros}" />
</h:panelGroup>
</h:form>
<h:form id="frmTblCliente">
<p:dataTable
id="tblCliente"
value="#{cadClienteMB.listar()}" var="p"
emptyMessage="Nenhum registro encontrado..."
widgetVar="cadClienteTable"
rowKey="#{p.codCliente}" selectionMode="single"
paginator="true" rows="10" rowsPerPageTemplate="5,10,15">
<f:facet name="header">
<p:outputPanel>
<div style="text-align: left; float: left">
<h:outputLabel value="Localizar: " />
<p:inputText id="globalFilter" onkeyup="cadClienteTable.filter()" style="width:150px" />
</div>
<div style="text-align: right; float: right">
<p:commandButton value="Novo" image="ui-icon-document" title="Novo cliente"
oncomplete="dialogCliente.show();"
update=":frmClienteModal,:frmMsgErro">
<f:setPropertyActionListener target="#{cadClienteMB.addNewReg}" value="true" />
<f:setPropertyActionListener target="#{cadClienteMB.cadCliente}" value="#{null}" />
</p:commandButton>
</div>
</p:outputPanel>
</f:facet>
<p:column headerText="Código" style="text-align: center; width: 30px"
filterBy="#{p.codCliente}" filterStyle="display: none">
<h:outputLabel value="#{p.codCliente}" />
</p:column>
<p:column headerText="Nome" style="text-align: left"
filterBy="#{p.nmCliente}" filterStyle="display: none">
<h:outputLabel value="#{p.nmCliente}" />
</p:column>
<p:column headerText="Cidade" style="text-align: left"
filterBy="#{p.nmCidade }" filterStyle="display: none">
<h:outputLabel value="#{p.nmCidade}" />
</p:column>
<p:column headerText="Alterar" style="text-align: left; width: 1px">
<p:commandButton value="Alterar" image="ui-icon-pencil" title="Alterar cliente"
oncomplete="dialogCliente.show();"
update=":frmClienteModal,:frmMsgErro">
<f:setPropertyActionListener target="#{cadClienteMB.addNewReg}" value="false" />
<f:setPropertyActionListener target="#{cadClienteMB.cadCliente}" value="#{p}" />
</p:commandButton>
</p:column>
<p:column headerText="Excluir" style="text-align: left; width: 1px">
<p:commandButton value="Excluir" image="ui-icon-trash" title="Excluir cliente"
onclick="confirmation.show();"
update=":frmRemoveCliente,:frmMsgErro">
<f:setPropertyActionListener target="#{cadClienteMB.addNewReg}" value="false" />
<f:setPropertyActionListener target="#{cadClienteMB.cadCliente}" value="#{p}" />
</p:commandButton>
</p:column>
<f:facet name="footer">
<div style="text-align: left; float: left">
<p:ajaxStatus id="ajaxStatusPanel">
<f:facet name="start">
<div style="background-color: white; color: black; vertical-align: middle">
Carregando...
</div>
</f:facet>
<f:facet name="complete">
<h:outputText value="" />
</f:facet>
</p:ajaxStatus>
</div>
<div style="text-align: right; float: right">
<h:outputLabel value="Quantidade: " />
<h:outputText value="#{cadClienteMB.totalCliente()}"/>
</div>
</f:facet>
</p:dataTable>
</h:form>
<p:dialog id="dialog" header="Cliente" widgetVar="dialogCliente"
appendToBody="true" resizable="false" closable="false"
modal="true" showEffect="fade" hideEffect="fade" width="500">
<h:form id="frmClienteModal">
<h:panelGrid id="infosCliente" columns="3" style="margin-bottom:10px">
<p:outputLabel for="codCli" value="Código:" />
<p:inputText id="codCli" value="#{cadClienteMB.cadCliente.codCliente}" disabled="true" size="5"/>
<p:message for="codCli" display="text"/>
<p:outputLabel for="nmCli" value="Nome:" />
<p:inputText id="nmCli" value="#{cadClienteMB.cadCliente.nmCliente}"
required="true" requiredMessage="Valor inválido" size="35"/>
<p:message for="nmCli" display="text" />
<p:outputLabel for="nmEnd" value="Endereço:" />
<p:inputText id="nmEnd" value="#{cadClienteMB.cadCliente.nmEndereco}" size="35" />
<p:message for="nmEnd" display="text"/>
<p:outputLabel for="nmBai" value="Bairro:" />
<p:inputText id="nmBai" value="#{cadClienteMB.cadCliente.nmBairro}" />
<p:message for="nmBai" display="text"/>
<p:outputLabel for="nmCid" value="Cidade:" />
<p:inputText id="nmCid" value="#{cadClienteMB.cadCliente.nmCidade}" size="35" />
<p:message for="nmCid" display="text"/>
<p:outputLabel for="nmUF" value="Estado:" />
<p:selectOneMenu id="nmUF" value="#{cadClienteMB.cadCliente.nmUF}" style="width: 180px" >
<f:selectItem itemLabel="Acre" itemValue="AC"/>
<f:selectItem itemLabel="Alagoas" itemValue="AL"/>
<f:selectItem itemLabel="Amapá" itemValue="AP"/>
<f:selectItem itemLabel="Amazonas" itemValue="AM"/>
</p:selectOneMenu>
<p:message for="nmUF" display="text"/>
</h:panelGrid>
<p:separator />
<p:commandButton value="Salvar" image="ui-icon-disk" title="Salvar"
actionListener="#{cadClienteMB.salvar}"
update="infosCliente,:frmTblCliente,:frmMsgErro"
oncomplete="handleRequest(xhr, status, args);"/>
<script type="text/javascript">
function handleRequest(xhr, status, args)
{
if (!args.validationFailed)
{
dialogCliente.hide();
}
else
{
jQuery('#dialog').effect("shake", { times:3 }, 100);
}
}
</script>
<p:commandButton value="Cancelar" title="Cancelar"
immediate="true" oncomplete="dialogCliente.hide();"
image="ui-icon-close" />
</h:form>
</p:dialog>
<p:confirmDialog id="confirmDialog" message="Confirma exclusão do cliente?"
header="Confirme" severity="alert" widgetVar="confirmation" appendToBody="true" >
<h:form id="frmRemoveCliente">
<p:commandButton value="Sim"
oncomplete="confirmation.hide()" image="ui-icon-trash"
update=":frmTblCliente,:frmMsgErro"
actionListener="#{cadClienteMB.remover}"/>
<p:commandButton immediate="true" value="Não"
image="ui-icon-cancel"
onclick="confirmation.hide()" />
</h:form>
</p:confirmDialog>
</p:panel>
</ui:define>
</ui:composition>
</h:body>
</html>
Caso alguém puder me enviar uma dica de como resolver, agradeço.
Depois posto o segundo erro, para o post não ficar muito grande, e confundir os assuntos.