Pessoal estou com um problema, já dei uma boa pesquisada e infelizmente não achei uma solução válida, meu problema é o seguinte, preciso de uma máscara para moeda.
O que tinha antes era uma aplicação jsp onde usava o jquery.maskMoney e jquery.maskedinput para minhas máscaras.
Estamos migrando a aplicação para jsf 2.0 com primefaces, o problema é que o código que usava antes não funciona mais.
Antes usava:
	jQuery(function($){
  
		$("#tele").mask("(99) 9999-9999");
		$("#cpf").mask("999.999.999-99");
		$("#cnpj").mask("99.999.999/9999-99");
		$("#datven").mask("99/99/9999");
		$("#valpri").maskMoney({symbol:"R$",decimal:",",thousands:"."});
		$("#valjur").maskMoney({symbol:"R$",decimal:",",thousands:"."});
		$("#valmul").maskMoney({symbol:"R$",decimal:",",thousands:"."});	
	
		});
O componente Masked Input do prime faces resolve meu problema parcialmente, mas no caso de moeda não;
Alguém poderia me ajudar?
Grato, Alysson Lemos;
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          rapaz , utilizo o primefaces, mas algumas coisas eu coloco jquery mesmo.
No caso de um input para valor monetario, utilizei h:inputtext com jquery
$j('.valor').maskMoney({symbol:"R$",decimal:",",thousands:"."});
é só ter cuidado para não haver conflitos entre o jquery do prime com o seu jquery
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          [quote=rjbcordeiro]rapaz , utilizo o primefaces, mas algumas coisas eu coloco jquery mesmo.
No caso de um input para valor monetario, utilizei h:inputtext com jquery
$j('.valor').maskMoney({symbol:"R$",decimal:",",thousands:"."});
é só ter cuidado para não haver conflitos entre o jquery do prime com o seu jquery[/quote]
quando eu utilizo java com jquery, não uso muito o id e sim class (dica)
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          [quote=rjbcordeiro][quote=rjbcordeiro]rapaz , utilizo o primefaces, mas algumas coisas eu coloco jquery mesmo.
No caso de um input para valor monetario, utilizei h:inputtext com jquery
$j('.valor').maskMoney({symbol:"R$",decimal:",",thousands:"."});
é só ter cuidado para não haver conflitos entre o jquery do prime com o seu jquery[/quote]
quando eu utilizo java com jquery, não uso muito o id e sim class (dica)[/quote]
cara foi mau, não sei o que ta acontecendo com a minha net, eu clico uma vez e manda duas mensagens.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          rjbcordeiro, se não for pedir muito, tu teria uma exemplo?
Por que assim, eu devo importar o jquery ainda? ou o nativo do prime resolve?
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Resolvido o problema!
<script>
jQuery(function($){
          $("#valorPrincipal").maskMoney({symbol:"R$ ", decimal:",", thousands:".", showSymbol:true});
});
</script>
<h:form prependId="false">
<h:inputText id="valorPrincipal" maxlength="16" size="16" tabindex="8" value="#{darf.valorPrincipal}"/>
</h:form>
Ao definir a atributo prependId como false o render mantem o nome do id sem alteração.
Grato!
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          no template da aplicação -> usei facelets
<h:head>
        <h:outputScript name="jquery-1.5.min.js" library="javascript" target="head"/>
...
          <h:outputScript name="script.js" library="javascript" target="head"/>   <!-- aqui meu script -->
 
</head>
script.js
var $j = jQuery.noConflict(); //coloco isto para não ter conflito com outras versões do jquery ( no caso do proprio componente) vc tb pode abrir a lib e atualizar o jquery lá mesmo ...
//para minhas funções
$j(function(){
...
$j('.valor').maskMoney({symbol:"R$",decimal:",",thousands:"."});  //ai todo componente que eu colocar class='valor' vai pegar esta mascara
...
}
no xhtml
<h:inputText styleClass="valor" value="#{produtoPrecoController.selected.valor}" title="#{bundle.CreateProdutoPrecoTitle_valor}" required="true" requiredMessage="#{bundle.CreateProdutoPrecoRequiredMessage_valor}"/>
pronto acho que é isto, qualquer coisa posta ai.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          [quote=rjbcordeiro]no template da aplicação -> usei facelets
<h:head>
        <h:outputScript name="jquery-1.5.min.js" library="javascript" target="head"/>
...
          <h:outputScript name="script.js" library="javascript" target="head"/>   <!-- aqui meu script -->
 
</head>
script.js
var $j = jQuery.noConflict(); //coloco isto para não ter conflito com outras versões do jquery ( no caso do proprio componente) vc tb pode abrir a lib e atualizar o jquery lá mesmo ...
//para minhas funções
$j(function(){
...
$j('.valor').maskMoney({symbol:"R$",decimal:",",thousands:"."});  //ai todo componente que eu colocar class='valor' vai pegar esta mascara
...
}
no xhtml
<h:inputText styleClass="valor" value="#{produtoPrecoController.selected.valor}" title="#{bundle.CreateProdutoPrecoTitle_valor}" required="true" requiredMessage="#{bundle.CreateProdutoPrecoRequiredMessage_valor}"/>
pronto acho que é isto, qualquer coisa posta ai.[/quote]
Mas o seguinte, estou tentando usar o jquery.maskMoney.js.
O que tentei foi isso aqui. mas não tive sucesso.
<!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:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.prime.com.tr/ui"
	xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:head>
	<title>Teste</title>
	<h:outputScript library="js" name="jquery/jquery.js" target="head" />
	<script type="text/javascript" src="../js/jquery.maskMoney.js"></script>
	<h:outputScript target="head">
    $ = jQuery.noConflict();
    $(document).ready(function() {
    	$j('.valor').maskMoney({symbol:"R$",decimal:",",thousands:"."});
    });
</h:outputScript>
</h:head>
<h:body>
	<h:form prependId="false">
		<fieldset>
			<legend>Formulário</legend>
			Valor do Principal<br />
			<h:inputText id="valorPrincipal" styleClass="valor" maxlength="16"
				size="16" tabindex="8" value="#{darf.valorPrincipal}"
				required="true" requiredMessage="*" immediate="true">
				<f:convertNumber locale="pt_BR" />
			</h:inputText>
			<h:message for="valorPrincipal" style="color: red" />
			
		</fieldset>
	</h:form>
</h:body>
</html>
O que fiz de errado?
Grato.