jQuery + PrimeFaces + JSF2.0

1,504 views
Skip to first unread message

Igor Queiroz

unread,
Apr 27, 2011, 4:02:00 PM4/27/11
to jav...@googlegroups.com
E aí pessoal, beleza?
Então, eu sei que isso já foi assunto aqui no grupo, já procurei entre os inúmeros posts inclusive, mas a verdade é que já tentei de todas as formas fazer com que o jQuery funcione no meu projeto sem sucesso. Se eu importo a biblioteca do jQuery pra o meu projeto que já utiliza Primefaces, a mesma quebra o layout do projeto, se eu tento usar a biblioteca nativa do Primefaces também não consigo utilizar nem um alert sequer.
Se alguém daqui conhecer algum tutorial explicando como fazer pra funcionar essas 3 tecnologias em conjunto, eu agradeceria demais, não há razão para ainda ter que utilizar JavasCript puro nas aplicações.

Agradeço desde já aqueles que puderem colaborar.

Igor Queiroz

unread,
Apr 27, 2011, 4:12:12 PM4/27/11
to jav...@googlegroups.com
Só acrescentando, meu problema, no caso, era formatar um campo de valor monetário com precisão decimal de 4 dígitos, tentei usar o priceFormat, e como é óbvio pelo post, nem deu certo...

Levy Moreira

unread,
Apr 27, 2011, 4:22:51 PM4/27/11
to jav...@googlegroups.com
Nunca usei o Jquery mas vc disse 'não consigo utilizar nem um alert sequer.'
Posta ai os fontes da página...

Em 27 de abril de 2011 17:12, Igor Queiroz <igorce...@gmail.com> escreveu:
Só acrescentando, meu problema, no caso, era formatar um campo de valor monetário com precisão decimal de 4 dígitos, tentei usar o priceFormat, e como é óbvio pelo post, nem deu certo...

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Levy Moreira - Programador
Sistech Informática - Juazeiro do Norte - CE

...........................................................................
"Aviso de confidencialidade profissional" - Esta mensagem eletrônica e seus anexos são destinados exclusivamente ao(s) destinatário(s) acima e podem conter informações confidenciais sujeitas a restrição legal de comunicação entre as partes. Caso tenha recebido esta mensagem por engano, fica V.S.ª ciente de que a distribuição, divulgação ou disseminação das informações aqui contidas ou anexadas é terminantemente proibida, sujeitando o responsável às penalidades aplicáveis. Assim, solicitamos a gentileza de retorná-la de imediato ao remetente, eliminando-a definitivamente de seu sistema. Em caso de dúvida, queira por favor entrar em contato."

"Confidentiality notice" - This message and its attachments are addressed solely to the persons above and may contain privileged and confidential
communication. If you have received the message in error, the distribution or dissemination of the content hereof is prohibited. Please return it
immediately to the sender and please delete the message from your system on a permanent basis. Should you have any questions, please contact."

...........................................................................


Eduardo Nobre

unread,
Apr 27, 2011, 4:27:00 PM4/27/11
to jav...@googlegroups.com
faz assim:


cria um compoente:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"

<p:inputText value="#{value}"  
size="11"
styleClass="#{styleClass}" 
style="text-align:right; 
width: 98px;"
disabled="#{disabled}"
onkeyup="moeda(this);">
<f:convertNumber pattern="R$ #,##0.00" />
</p:inputText>

</ui:composition>

e um script:
function moeda(z){  
v = z.value;
v = v.replace(/\D/g,"")  //permite digitar apenas números
v = v.replace(/[0-9]{12}/,"inválido")   //limita pra máximo 999.999.999,99
v = v.replace(/(\d{1})(\d{8})$/,"$1.$2")  //coloca ponto antes dos últimos 8 digitos
v = v.replace(/(\d{1})(\d{5})$/,"$1.$2")  //coloca ponto antes dos últimos 5 digitos
v = v.replace(/(\d{1})(\d{1,2})$/,"$1,$2")        //coloca virgula antes dos últimos 2 digitos
z.value = 'R$ ' + v;
}

sugiro que voce crie um arquivo script.js e coloque a função moeda dentro.


não precisa de jquery.








Em 27 de abril de 2011 17:12, Igor Queiroz <igorce...@gmail.com> escreveu:
Só acrescentando, meu problema, no caso, era formatar um campo de valor monetário com precisão decimal de 4 dígitos, tentei usar o priceFormat, e como é óbvio pelo post, nem deu certo...

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Eduardo Nobre

Eduardo Nobre

unread,
Apr 27, 2011, 4:33:15 PM4/27/11
to jav...@googlegroups.com
esqueci de dizer pra voce mudar a máscara para : <f:convertNumber pattern="R$ #,##0.0000" />
e alterar o javascrit tambem
--
Eduardo Nobre

Flavio Cysne

unread,
Apr 28, 2011, 7:37:56 AM4/28/11
to jav...@googlegroups.com
Igor,

    você já deu uma olhada neste link http://www.primefaces.org/showcase-labs/ui/inputMask.jsf  ?

    Até onde eu sei o Primefaces usa o JQuery e o JQueryUI diretamente. ;-)

    Para fazer o teste no Firefox com o plugin Firebug, basta abrir uma página qualquer que use pelo meno um componente visual do Primefaces e digitar no console "jQuery.fn.jquery" (para ver a versão do JQuery) ou "jQuery.ui.version" (para ver a versão do JQueryUI).

    Caso queira mudar a versão do JQuery ou do JQueryUI para uma mais recente (o que eu não recomendo) você teria que desabilitar a inclusão automática dos scripts pelo primefaces e incluí-los manualmente.

Espero ter ajudado.
Flávio Cysne

Igor Queiroz

unread,
Apr 29, 2011, 12:49:06 PM4/29/11
to jav...@googlegroups.com
Então galera, obrigado pelas dicas.
Flávio Cysne, infelizmente o inputMask não atende a necessidade, pois a intenção é de uma máscara como a dos campos de moeda do internet Banking do Banco do Brasil, por exemplo. E com o inputMask até onde eu sei, não dá pra fazer isso (corrijam-me se eu estiver errado).
Já a máscara que o amigo Eduardo postou, acredito que vai atender bem a minha necessidade.
Obrigado a todos, mas caso alguém saiba como fazer o maldito jQuery funcionar com o Primefaces + JSF 2.0, só postar aqui :D

Tulio Monte Azul

unread,
Apr 30, 2011, 12:23:56 PM4/30/11
to jav...@googlegroups.com
Tem um projeto lá no meu trabalho, que eu não faço parte, que está na mesma situação. Acabaram tendo que usar o jQuery nativo do Primefaces, que realmente deu alguns problemas. Mas muitos problemas também surgiram pelo fato da página ser xhtml. Você sabe dizer que tipo de problemas que deram quando você tentou usar? Porque eu sei que no fim das contas conseguiram fazer funcionar. Segunda eu vou perguntar lá no trabalho o que foi feito e te falo.

Ah, não sei se você já tentou isso, mas eu já tive problema ao utilizar jQuery com RichFaces e JSF 1.2, consegui resolver importando o jQuery e utilizando o jQuery.noConflict() - http://api.jquery.com/jQuery.noConflict/


Tulio Monte Azul
Programador
NATI - Núcleo de Aplicação em Tecnologia da Informação
UNIFOR - Universidade de Fortaleza
Campus da Unifor - Bloco M - Sala M-07
Fone: (85) 3477-3000 Ramal 4509


Rafael Dutra

unread,
May 1, 2011, 7:00:50 PM5/1/11
to jav...@googlegroups.com
Boa noite Igor.

Passei por esse mesmo problema e resolvi da seguinte maneira. Como o próprio primefaces utiliza jQuery, retirei a importação do jQuery do código e troquei por:

<script type="text/javascript">$ = jQuery;</script>

Espero que te ajude tbm.

Att.

--
Rafael Dutra


2011/4/29 Igor Queiroz <igorce...@gmail.com>
Reply all
Reply to author
Forward
0 new messages