Primefaces + JSF 2.0 + Jquery

Olá Pessoal boa noite!!
Estou tentando formatar um campo com o JQuery. Minha pagina tem um commandLink pra chamar um dialogbox. Quando utilizo o parâmetro update no commandLink pra iniciar os campos do dialogbox a formatação do JQuery é perdida. Quando retiro o update a formatação se mantem. Utilizo esse parâmetro “update” basicamente pra carregar uma tela vazia na inclusão de um novo registro. Tem alguma forma de continuar usando o update e não perder a formatação do campo? Tem alguma outra forma de iniciar um dialogbox com os campos vazios no caso da inclusão de um novo registro? Se eu não uso o update quando carrego o dialogbox novamente ele mantem as informações do registro anterior. Obrigado.

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.prime.com.tr/ui">
      
    <h:head>
		<h:outputScript name="jquery.js" library="js" target="head"/>  
		<h:outputScript name="jquery.maskMoney.js" library="js" target="head"/>
    
        <title>Manutencao de cliente</title>
        <link type="text/css" rel="stylesheet" href="dot-luv/skin.css" />
        
        
	<script type="text/javascript">

	$(document).ready(function(){
		
	        // Configuração padrão.
			$("#currency").maskMoney();

			// Configuração para campos de Real.
			$("#real").maskMoney({showSymbol:true, symbol:"R$", decimal:",", thousands:"."});

			// Configuração para mudar a precisão da máscara. Neste caso a máscara irá aceitar 3 dígitos após a virgula.
			$("#precision").maskMoney({precision:3})
			
			
			// Configuração para campos de Real.
			$('.valor').maskMoney({showSymbol:true, symbol:"R$", decimal:",", thousands:"."});
			
			$('#target').keydown(function() {
				  alert('Handler for .keydown() called.');
				});
			
	});
		</script>
        
    </h:head>
    
    
    <h:body>
        <p:layout fullPage="true">
            <p:layoutUnit position="left" width="0" header="" resizable="false" closable="false" collapsible="false">
            </p:layoutUnit>
            <p:layoutUnit position="center">
                <h:form prependId="false">
                    <p:commandLink value="Incluir Novo cliente" update="empres7"  oncomplete="dialogcliente.show()"/>
                    &nbsp; <p:commandLink value="Voltar" action="index.xhtml" ajax="false"/>
                </h:form>                     
   
            </p:layoutUnit>
            </p:layout>

        <p:dialog header="Manutencao de clientes" widgetVar="dialogcliente" resizable="false" modal="true" showEffect="slide" width="750" height="600">
            <h:form prependId="false">
                <h:panelGrid id="empres7" columns="4" style="margin-bottom:10px" border="0">
 
					<h:outputLabel for="alicotaPIS" value="Aliquota PIS % :"  id="teste22"/>
					<h:inputText id="alicotaPIS" styleClass="valor" value="#{empresaController.empresa.alicotaPIS}" />

					<h:outputLabel for="val1" value="Teste valor :"  id="teste22a"/>
					<h:inputText id="target" value="#{empresaController.empresa.alicotaPIS}" />
 				</h:panelGrid>
            </h:form>
        </p:dialog>
    </h:body>
</html>

Olá amigo.

Essa aí tá fácil, passei pelo mesmo problema esses dias.

1º - coloque sua formatação dentro de um método e chame-o pelo jquery:

$(document).ready(format);

function format() {  
          
            // Configuração padrão.  
            $("#currency").maskMoney();  
  
            // Configuração para campos de Real.  
            $("#real").maskMoney({showSymbol:true, symbol:"R$", decimal:",", thousands:"."});  
  
            // Configuração para mudar a precisão da máscara. Neste caso a máscara irá aceitar 3 dígitos após a virgula.  
            $("#precision").maskMoney({precision:3})  
              
              
            // Configuração para campos de Real.  
            $('.valor').maskMoney({showSymbol:true, symbol:"R$", decimal:",", thousands:"."});  
              
            $('#target').keydown(function() {  
                  alert('Handler for .keydown() called.');  
            });  
}  

2º - configure o commandLink para chamar o método quando completar a chamada ajax:

&lt;p:commandLink value="Incluir Novo cliente" update="empres7"  oncomplete="format(); dialogcliente.show();"/&gt;

Abraço.

Mas por quê prime faces?

Como assim, pq primefaces?

Existem outras opções de bibliotecas de componentes para jsf, como por exemplo: richfaces, icefaces, entre outros.

Mas vc acha primefaces ruim?

Eu particularmente acho o melhor framework para jsf, extremamente completo, poderoso e customizável.

Comparando, icefaces é mais fraco e richfaces tem muito menos documentação.

Não acho ruim, apenas se escreve mais código se comparado ao richfaces.

Na mosca!! Obrigado. Feliz ano novo a todos!!!