Layout com Prime Faces

Pessoal estou com um problema e gostaria da ajuda de vocês, estou construindo uma aplicação usando primefaces e estou querendo usar aquele layout que ele oferece.
Aqui tem um link para que vocês possam ver um exemplo http://quebrandoparadigmas.wordpress.com/2010/08/06/layouts-no-primefaces/.

Eu coloquei um menu do lado esquerdo, gostaria que quando o usuário clicar no menu, somente a página do meio se movimente, ou seja de uma forma que eu não precise fazer include em todas as páginas.

Isso é possível?

Obrigado pela ajuda.

Amigo, me diz uma coisa, você criou uma “pagina” apenas com o menu, e para usar ele está incluindo (include) ele em suas páginas. É isso mesmo?
A sua preocupação então é não precisar ficar dando o include desse arquivo em toda página que você criar, certo?

Se for isso mesmo, recomendo você a utilizar facelets. Como ele é possível você determinar o layout padrão para suas páginas. Dessa forma você não vai ter que ficar utilizando includes.

Abraços…

Não estou usando includes, estou usando uma tag do prime faces mesmo…

p:layout e
p:layoutUnit

E eu quero abrir no meio da página. Não sei se você chegou a olhar o link que coloquei no meu post acima. La tem um exemplo. Quero abrir a página no meio.

Entendeu?

Entendi não amigo =/
Posta o código ai para eu dar uma olhada como você está fazendo.

O p:layoyt e o p:layout unit são para definir o layout das páginas. Sem o facelets você terá que em todas as páginas criar a mesma estrutura de layout, isso pode se torna um problema quando você desejar atualizar o layout de sua aplicação e, principalmente, se sua aplicação tiver um grande número de páginas.

Em um projeto que trabalhei eu criei um template usando os componente de layout do primefaces, definindo as áreas top e left sendo fixas (eu não as alterava) e a parte central sendo a que eu mudaria. Para isso foi necessário utilizar facelets. Depois que o layout foi definido eu me preocupava apenas com a parte central das páginas. Caso fosse necessário realizar uma alteração no layout eu alterava apenas um arquivo.

Pesquisa um pouco sobre facelets que você entenderá o que estou dizendo.

Abraços…

Os códigos estão na máquina de um colega que é o responsável pelo layout. Mas mesmo assim vou dar uma pesquisada sobre facelets. Assim que eu conseguir o código novamente eu pego e coloco aqui para você dar uma olhada.

Obrigado pela ajuda.

Beleza, vou ficar esperando para ver no que posso ajudar.

Da uma olhada nesse material:


Abraços…

Obrigado amigo.

Bom dia pessoal,
dando continuidade ao post e também querendo atualizar somente a página central não estou conseguindo sem usar o

 <f:setPropertyActionListener target="#{fTRNav.pageName}" value="/disp2.xhtml" />

que mesmo assim recarrega a página inteira.
Alguém pode me ajudar?

Segue o código da minha página template:

<?xml version='1.0' encoding='UTF-8' ?> 
<!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:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core">
    <f:view contentType="text/html">
        <h:head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />            
            <link type="text/css" rel="stylesheet" href="/resources/css/default.css" />
            <link type="text/css" rel="stylesheet" href="/resources/css/principal.css" />
          
            <title>xxxxxxx</title>        
            <style type="text/css">
                .ui-widget, .ui-widget {
                    font-size: 14px !important;
                }
                body {background-color: #009900;
                      font-size: 14px;
                }
                .ui-datatable { 
                    font-size: 14px !important; 
                } 
                .old{
                    background-color:#E0E0E0;  
                    color: red;
                }
                .fonteMenor { 
                    font-size: 14px !important; 
                } 
                .fonteMaior { 
                    font-size: 15px !important; 
                } 

                .ui-panel, .ui-panel-titlebar {
                    font-size:14px;
                }

            </style> 
            <script type="text/javascript">
                PrimeFaces.locales['pt_BR'] = {
                    closeText: 'Fechar',
                    prevText: 'Anterior',
                    nextText: 'Próximo',
                    currentText: 'Começo',
                    monthNames: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio',
                        'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro',
                        'Novembro', 'Dezembro'],
                    monthNamesShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun',
                        'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
                    dayNames: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta',
                        'Sexta', 'Sábado'],
                    dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'],
                    dayNamesMin: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],
                    weekHeader: 'Semana',
                    firstDay: 1,
                    isRTL: false,
                    showMonthAfterYear: false,
                    yearSuffix: '',
                    timeOnlyTitle: 'Só Horas',
                    timeText: 'Tempo',
                    hourText: 'Hora',
                    minuteText: 'Minuto',
                    secondText: 'Segundo',
                    currentText : 'Data de Hoje',
                            ampm: false,
                    month: 'Mês',
                    week: 'Semana',
                    day: 'Dia',
                    allDayText: 'Todo Dia'
                };
            </script>

            <script type="text/javascript">
                function start() {
                    statusDialog.show();
                }

                function stop() {
                    statusDialog.hide();
                }
            </script>
        </h:head>

        <h:body>
            
                <p:layout fullPage="true" style="min-width:100px;max-width:90%;min-height:470px">  
                    <p:layoutUnit position="north" header="Sistema de Gerenciamento de Clube" resizable="true"  size="170" collapsible="true">  
                        <h:form prependId="false">
                            <center>
                            <h:graphicImage style="max-width:30%; min-width:6%;min-height:6%" url="/tema/imagens/uniao.png"/>
                            <br/> <font  size="2"><i>Tel.: (031) 8898-4828</i></font>
                            </center>
                        </h:form>
                    </p:layoutUnit>  
                    <p:layoutUnit position="west" size="13%" header="Menu" resizable="true" closable="true" collapsible="true">  
                        <ui:insert name="menu">
                            <h:form prependId="false">                             
                                <p:slideMenu  style="max-width: 95%; min-width:45%;font-size: 12px" >

                                    <p:submenu label="Página Inicial" style="font-size: 12px">
                                        <p:menuitem  value="Página Inicial" icon="ui-icon-home" action="index.faces"/>
                                    </p:submenu>
                                    <p:submenu label="Conta" style="font-size: 12px">
                                        <p:menuitem value="Conta" icon="ui-icon-person" action="#{navBean.doNav()}">
                                            <f:setPropertyActionListener target="#{navBean.page}" value="conta" />
                                        </p:menuitem>   
                                        <p:menuitem value="Centro Custo" icon="ui-icon-person" action="#{centroCustoBean.goCentroCusto()}"/>   
                                    </p:submenu>
                                    <p:submenu label="Fornecedor" style="font-size: 12px">
                                        <p:menuitem value="Fornecedor" icon="ui-icon-person" action="#{fornecedorBean.goFornecedor()}"/>   
                                    </p:submenu>
                                    <p:submenu label="Produto" style="font-size: 12px">
                                        <p:menuitem value="Produto" icon="ui-icon-person" action="#{produtoBean.goProduto()}"/>           
                                        <p:menuitem value="Unidade" icon="ui-icon-person" action="#{unidadeBean.goUnidade()}"/>      
                                    </p:submenu>
                                    <p:submenu label="Funcionário" style="font-size: 12px">
                                        <p:menuitem value="Funcionário" icon="ui-icon-person" action="#{funcionarioBean.goFuncionario()}"/>                                        
                                    </p:submenu>
                                    <p:submenu label="Sócio" style="font-size: 12px">
                                        <p:menuitem value="Sócio" icon="ui-icon-person" action="#{socioBean.goSocios()}"/> 
                                    </p:submenu>
                                    <p:submenu label="Compra" style="font-size: 12px">                                      
                                        <p:menuitem value="Lista de Compras" icon="ui-icon-person" action="#{compraController.goCompraLazy()}"/>                               
                                        <p:menuitem value="Relatórios" icon="ui-icon-person" action="#{compraBean.goListaCompra()}"/>                                                                       
                                    </p:submenu>

                                </p:slideMenu>   

                                <h:outputLink value="#{facesContext.externalContext.requestContextPath}/j_spring_security_logout">
                                    <h:outputText value="Logout"/>
                                </h:outputLink>
                            </h:form>
                        </ui:insert>
                    </p:layoutUnit>                     
                    <p:layoutUnit position="center" style="font-size:14px;min-width:30%;max-width:100%;min-height:30%">  
                        <ui:insert name="centro">
                        </ui:insert>
                    </p:layoutUnit>  
                </p:layout>            
        </h:body>
    </f:view>
</html>

Meu NavBean


package br.com.uniao.controller;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class NavBean {

    private String page;

    public String getPage() {
        return page;
    }

    public void setPage(String page) {
        this.page = page;
    }

    @PostConstruct
    public void init() {
        this.page = "index"; // Ensure that default is been set.
    }
    public String doNav(){
        return page;
    }
}

Minha página conta:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./tema/padrao.xhtml"
                xmlns:p="http://primefaces.org/ui"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core">



    <ui:define name="centro">
        <p:dialog modal="true" widgetVar="statusDialog" header="Status" 
                  draggable="false" closable="false">
            Aguarde...
            <p:graphicImage value="/tema/imagens/ajax-loader.gif" />
        </p:dialog>
        <h:form prependId="false" id="formconta">
            <center>
                <p:panel header="Cadastrar nova Conta"  style="margin-bottom:10px;">
                    <p:commandButton onstart="statusDialog.show();" oncomplete="novocon.show();" onsuccess="statusDialog.hide();" value="Nova" title="Clique para cadastrar nova conta" update="@parent,:novoconta" action="#{contaBean.prepareAddConta()}"/>                                   
                </p:panel>
            </center>
            <p:growl id="messages" autoUpdate="true" showDetail="true" sticky="false" life="8000" />
            <p:dataTable widgetVar="contaTable" var="item" id="tabelaconta" value="#{contaBean.cachedConta}" filteredValue="#{contaBean.filteredConta}"
                         emptyMessage="Nenhum registro encontrado pelo critério"  paginator="true" rows="10"  
                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                         rowsPerPageTemplate="5,10,15">
                <p:column id="Nome" filterBy="#{item.nomeEmpresa}" 
                          headerText="Nome"
                          filterMatchMode="contains">
                    <h:outputLabel value="#{item.nomeEmpresa}"/>                    
                </p:column> 

                <p:column>
                    <f:facet name="header">
                        <h:outputText value="E-mail"/>
                    </f:facet>
                    <h:outputText value="#{item.email}"/>
                </p:column>

                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Tel. Celular"/>
                    </f:facet>
                    <h:outputText value="#{item.telefoneCelular}"/>
                </p:column>
                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Tel. Empresa"/>
                    </f:facet>
                    <h:outputText value="#{item.telefoneEmpresa}"/>
                </p:column>

                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Saldo"/>
                    </f:facet>
                    <h:outputText value="#{item.saldo}">
                        <f:convertNumber maxFractionDigits="2"
                                         groupingUsed="true"
                                         currencySymbol="R$"
                                         maxIntegerDigits="7"
                                         type="currency"/>
                    </h:outputText>
                </p:column>
                
                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Ações"/>
                    </f:facet>
                    <p:commandButton value="Apagar" title="Clique para deletar registro da conta" update=":remove,@parent" icon="ui-icon-trash" oncomplete="removeconfirmation.show()">
                        <f:setPropertyActionListener target="#{contaBean.selectedConta}" value="#{item}"/>
                    </p:commandButton>

                    <p:commandButton onstart="statusDialog.show();" onsuccess="statusDialog.hide();" oncomplete="editacon.show();" title="Clique para alterar conta cadastrada" update="@parent,:editarconta" value="Alterar" action="#{contaBean.prepareEditConta()}">
                        <f:setPropertyActionListener target="#{contaBean.selectedConta}" value="#{item}"/>
                    </p:commandButton>

                    <p:commandButton onstart="statusDialog.show();" onsuccess="statusDialog.hide();" oncomplete="detcon.show();" title="Clique para detalhes da conta" update="@parent,:detalhesconta" value="Detalhes" action="#{contaBean.detalheFornecedor()}">
                        <f:setPropertyActionListener target="#{contaBean.selectedConta}" value="#{item}"/>
                    </p:commandButton>
                </p:column>
            </p:dataTable>
        </h:form>
        
         <p:dialog id="remove" closable="false" resizable="false" widgetVar="removeconfirmation" header="Apagar Registro...." showEffect="puff" hideEffect="explode" height="50">
            <h:form>
                <h:outputText value="Deseja apagar o registro #{contaBean.selectedConta.nomeEmpresa}?" />            
                <p:commandButton value="Sim" actionListener="#{contaBean.removeConta()}"	
                                 update=":formconta" oncomplete="removeconfirmation.hide()"/>
                <p:commandButton title="Clique para confirmar apagar o registro do fornecedor" update="@parent" value="Não" onclick="removeconfirmation.hide();" type="button" />	
            </h:form>
        </p:dialog> 

        <p:dialog id="novoconta" appendToBody="true" header="Cadastro de nova Conta" closable="false" resizable="false" widgetVar="novocon" hideEffect="explode" showEffect="puff">
            <h:form acceptcharset="ISO-8859-1" id="newconta" prependId="false"> 
                <p:focus context="newconta"/>
                <p:panelGrid columns="2">                                                               
                    <h:outputLabel value="Nome:" for="nome" />
                    <p:inputText size="50" id="nome" value="#{contaBean.selectedConta.nomeEmpresa}" title="Nome" />
                    <h:outputText value="Pessoa: " />
                    <p:selectOneRadio id="optionsn" value="#{contaBean.selectedConta.tipoPessoa}">
                        <f:selectItem itemLabel="Física" itemValue="true" />
                        <f:selectItem itemLabel="Jurídica" itemValue="false" />                        
                    </p:selectOneRadio>
                    <h:outputLabel value="Saldo:" for="saldo" />
                    <p:inputText size="50" id="saldo" value="#{contaBean.selectedConta.saldo}" title="Saldo" />
                    <h:outputLabel value="Email:" for="email" />
                    <p:inputText size="50" id="email" value="#{contaBean.selectedConta.email}" title="Email" />                   
                    <h:outputLabel value="Telefone Celular:" for="telefoneCelular" />
                    <p:inputMask mask="(999) 9999-9999" id="telefoneCelular" value="#{contaBean.selectedConta.telefoneCelular}" title="TelefoneCelular" />
                    <h:outputLabel value="Telefone Empresa:" for="telefoneEmpresa" />
                    <p:inputMask mask="(999) 9999-9999" id="telefoneEmpresa" value="#{contaBean.selectedConta.telefoneEmpresa}" title="TelefoneEmpresa" />

                    <h:outputLabel value="Rua:" for="rua" />
                    <p:inputText size="50" id="rua" value="#{contaBean.selectedEndereco.rua}" title="rua" />

                    <h:outputLabel value="Número:" for="numero" />
                    <p:inputText size="50" id="numero" value="#{contaBean.selectedEndereco.numero}" title="numero" />

                    <h:outputLabel value="Complemento:" for="complemento" />
                    <p:inputText size="50" id="complemento" value="#{contaBean.selectedEndereco.complemento}" title="complemento" />

                    <h:outputLabel value="Bairro:" for="bairro" />
                    <p:inputText size="50" id="bairro" value="#{contaBean.selectedEndereco.bairro}" title="bairro" />

                    <h:outputLabel value="Local:" />                       
                    <p:panelGrid columns="2">
                        <p:selectOneMenu id="som-ufs"
                                         value="#{contaBean.selectedEndereco.estado}" 
                                         style="width: 75px;">
                            <f:selectItem itemLabel="Sel. Estado"
                                          itemValue="Nenhum" />
                            <f:selectItems value="#{contaBean.UFs}" />
                            <p:ajax update="som-cidades"
                                    listener="#{contaBean.changeUF()}" />
                        </p:selectOneMenu>                             

                        <p:selectOneMenu id="som-cidades" 
                                         value="#{contaBean.selectedEndereco.cidade}"
                                         style="width: 165px;"> 
                            <f:selectItem itemLabel="Selecione Cidade"
                                          itemValue="Nenhum" />
                            <f:selectItems value="#{contaBean.cidades}"/>
                        </p:selectOneMenu>
                    </p:panelGrid> 

                    <h:outputLabel value="Cep:" for="cep" />
                    <p:inputMask size="50" mask="99999-999" id="cep" value="#{contaBean.selectedEndereco.cep}" title="cep" />
                </p:panelGrid>
                <center>
                    <p:commandButton title="Clique para confirmar inserção do registro da conta"
                                     value="Salvar" oncomplete="novocon.hide();" 
                                     action="#{contaBean.finishAddConta()}"
                                     update=":formconta,@parent"/>
                    <p:spacer width="10"/>
                    <p:commandButton title="Clique para cancelar inserção do registro da conta" update="@parent" value="Cancelar" onclick="novocon.hide();" type="button" />
                </center>
            </h:form>
        </p:dialog>
        
        <p:dialog id="detalhesconta" appendToBody="true" header="Detalhes da Conta" closable="false" resizable="false" widgetVar="detcon" hideEffect="explode" showEffect="puff">
            <h:form acceptcharset="ISO-8859-1" id="detailconta" prependId="false"> 
                                      
                        <p:panelGrid columns="2">                            
                            <h:outputText value="Nome:"/>
                            <h:outputText value="#{contaBean.selectedConta.nomeEmpresa}" title="Nome"/>       
                            <h:outputText value="Pessoa: " />
                            <p:selectOneRadio  id="optionsd" value="#{contaBean.selectedConta.tipoPessoa}">
                                <f:selectItem itemLabel="Física" itemValue="true" />
                                <f:selectItem itemLabel="Jurídica" itemValue="false" />                        
                            </p:selectOneRadio>
                            <h:outputLabel value="Saldo:"/>
                            <h:outputText value="#{contaBean.selectedConta.saldo}" title="Saldo">
                                <f:convertNumber maxFractionDigits="2"
                                         groupingUsed="true"
                                         currencySymbol="R$"
                                         maxIntegerDigits="7"
                                         type="currency"/>
                            </h:outputText>
                            <h:outputText value="Telefone Celular:"/>                            
                            <h:outputText value="#{contaBean.selectedConta.telefoneCelular}" title="TelefoneCelular"/>
                            <h:outputText value="Telefone Empresa:"/>
                            <h:outputText value="#{contaBean.selectedConta.telefoneEmpresa}" title="TelefoneEmpresa"/>
                            <h:outputText value="Email:"/>
                            <h:outputText value="#{contaBean.selectedConta.email}" title="Email"/>
                            <h:outputText value="Rua:"/>
                            <h:outputText value="#{contaBean.selectedConta.endereco.rua}" title="Rua"/>
                            <h:outputText value="Numero:"/>
                            <h:outputText value="#{contaBean.selectedConta.endereco.numero}" title="Numero"/>
                            <h:outputText value="Complemento:"/>
                            <h:outputText value="#{contaBean.selectedConta.endereco.complemento}" title="Complemento"/>
                            <h:outputText value="Bairro:"/>
                            <h:outputText value="#{contaBean.selectedConta.endereco.bairro}" title="Bairro"/>
                            <h:outputText value="Cidade:"/>
                            <h:outputText value="#{contaBean.selectedConta.endereco.cidade}" title="Cidade"/>
                            <h:outputText value="Estado:"/>
                            <h:outputText value="#{contaBean.selectedConta.endereco.estado}" title="Estado"/>
                            <h:outputText value="Cep:"/>
                            <h:outputText value="#{contaBean.selectedConta.endereco.cep}" title="Cep"/>
                        </p:panelGrid>
                <center>
                <p:commandButton title="Clique para sair" update="@parent" value="Sair" onclick="detcon.hide();" type="button" />
                </center>                                                                                                                                
            </h:form>
        </p:dialog>
        
         <p:dialog id="editarconta" appendToBody="true" header="Editar Conta" closable="false" resizable="false" widgetVar="editacon" hideEffect="explode" showEffect="puff">
            <h:form acceptcharset="ISO-8859-1" id="editconta" prependId="false"> 
                <p:focus context="editconta"/>
                <h:panelGrid columns="2">                                                               
                    <h:outputLabel value="Nome:" for="enome" />
                    <p:inputText size="50" id="enome" value="#{contaBean.selectedConta.nomeEmpresa}" title="Nome" />
                    <h:outputText value="Pessoa: " />
                    <p:selectOneRadio id="optionse" value="#{contaBean.selectedConta.tipoPessoa}">
                        <f:selectItem itemLabel="Física" itemValue="true" />
                        <f:selectItem itemLabel="Jurídica" itemValue="false" />                        
                    </p:selectOneRadio>
                    <h:outputLabel value="Saldo:" for="esaldo" />
                    <p:inputText size="50" id="esaldo" value="#{contaBean.selectedConta.saldo}" title="Saldo" /> 
                    <h:outputLabel value="Email:" for="eemail" />
                    <p:inputText size="50" id="eemail" value="#{contaBean.selectedConta.email}" title="Email" />                    
                    <h:outputLabel value="Telefone Celular:" for="etelefoneCelular" />
                    <p:inputMask mask="(999) 9999-9999" id="etelefoneCelular" value="#{contaBean.selectedConta.telefoneCelular}" title="TelefoneCelular" />
                    <h:outputLabel value="Telefone Empresa:" for="etelefoneEmpresa" />
                    <p:inputMask mask="(999) 9999-9999" id="etelefoneEmpresa" value="#{contaBean.selectedConta.telefoneEmpresa}" title="TelefoneEmpresa" />

                    <h:outputLabel value="Rua:" for="erua" />
                    <p:inputText size="50" id="erua" value="#{contaBean.selectedConta.endereco.rua}" title="rua" />

                    <h:outputLabel value="Número:" for="enumero" />
                    <p:inputText size="50" id="enumero" value="#{contaBean.selectedConta.endereco.numero}" title="numero" />

                    <h:outputLabel value="Complemento:" for="ecomplemento" />
                    <p:inputText size="50" id="ecomplemento" value="#{contaBean.selectedConta.endereco.complemento}" title="complemento" />

                    <h:outputLabel value="Bairro:" for="ebairro" />
                    <p:inputText size="50" id="ebairro" value="#{contaBean.selectedConta.endereco.bairro}" title="bairro" />

                    <h:outputLabel value="Local:" />                       
                    <p:panelGrid columns="2">
                        <p:selectOneMenu id="esom-ufs"
                                         value="#{contaBean.selectedConta.endereco.estado}" 
                                         style="width: 75px;">
                            <f:selectItem itemLabel="Sel. Estado"
                                          itemValue="Nenhum" />
                            <f:selectItems value="#{contaBean.UFs}" />
                            <p:ajax update="esom-cidades"
                                    listener="#{contaBean.changeUfAltera()}" />
                        </p:selectOneMenu>                             

                        <p:selectOneMenu id="esom-cidades" 
                                         value="#{contaBean.selectedConta.endereco.cidade}"
                                         style="width: 165px;"> 
                            <f:selectItem itemLabel="Selecione Cidade"
                                          itemValue="Nenhum" />
                            <f:selectItems value="#{contaBean.cidades}"/>
                        </p:selectOneMenu>
                    </p:panelGrid> 

                    <h:outputLabel value="Cep:" for="ecep" />
                    <p:inputMask size="50" mask="99999-999" id="ecep" value="#{contaBean.selectedConta.endereco.cep}" title="cep" />
                </h:panelGrid>
                <center>
                    <p:commandButton title="Clique para confirmar alteração do registro da conta" value="Salvar" oncomplete="editacon.hide();" action="#{contaBean.finishEditConta()}" update=":formconta,@parent"/>
                <p:spacer width="10"/>
                <p:commandButton title="Clique para cancelar alteração do registro da conta" update="@parent" value="Cancelar" onclick="editacon.hide();" type="button" />
                </center>
            </h:form>
        </p:dialog>
    </ui:define>
</ui:composition>

Do jeito que está a página recarrega inteira.

Qualquer ajuda será bem vinda

Agradeço desde já!!