[JSF] Passar parametro #{} para function JS  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
yorgan
GUJ Ranger
[Avatar]

Membro desde: 14/08/2006 19:41:31
Mensagens: 901
Localização: Floripa/SC
Offline

Bom dia pessoal,
Alguém sabe como posso chamar uma função javascript no onload da página e passar para essa função valores de uma variável de um bean?
Algo como:

Contudo a tag BODY não aceita chamadas JSF.

[]´s

Daniel

[Email] [WWW]
fabiozoroastro
GUJ Master
[Avatar]

Membro desde: 15/05/2006 16:23:01
Mensagens: 1268
Offline

Como assim não aceita?
Deu algum erro de compilação aí?

[]'s

..."Apenas sorria!"

Twitter

Blog

yorgan
GUJ Ranger
[Avatar]

Membro desde: 14/08/2006 19:41:31
Mensagens: 901
Localização: Floripa/SC
Offline

Segue mensagem:

Codigo JSP:


Erro:
[Email] [WWW]
guimoz
JavaEvangelist

Membro desde: 11/08/2007 19:21:10
Mensagens: 455
Localização: Bento Gonçalves - RS
Offline

seria isso ?
yorgan
GUJ Ranger
[Avatar]

Membro desde: 14/08/2006 19:41:31
Mensagens: 901
Localização: Floripa/SC
Offline

Isso mesmo guimoz. Inicialmente eu havia pensando que o jsfunction só serviria para enviar informações ao Bean via javascript e isso seria o caminho inverso do que eu precisava. Contudo, olhando melhor a documentação consegui fazer o que eu precisava.
Apenas para deixar aqui a solução, segue um exemplo simples:

Bean


JSP:


[]´s

Daniel

This message was edited 1 time. Last update was at 18/05/2009 12:37:12

[Email] [WWW]
murilo_scool
Debugger
[Avatar]

Membro desde: 12/11/2008 11:07:47
Mensagens: 57
Offline

olá senhores,

estou com um problema semelhante!

tenho uma galeria em flash que aciona uma função JavaScript, passando 3 parâmetros
essa função recebe o valores e através da mesma função, será aberto um pop-up.
os 3 valores do parâmetro serão enviados para o pop-up.jsf



os exemplos que já analisei, são apenas utilizando 1 parâmetro.

para separar os parâmetro tentei utilizar o "&", mas não funcionou!
devido ao delimitador requirido pelo Servlet

colocando o delimitar ";" funciona, mas quando tenho que pegá-lo com request.getParameter
os parametros não veem separados

imprimi pra ver os valores:

resultados!


alguém poderia mostar uma forma para pegar os parâmetros separadamente?!?

This message was edited 2 times. Last update was at 13/05/2010 14:15:49

murilo_scool
Debugger
[Avatar]

Membro desde: 12/11/2008 11:07:47
Mensagens: 57
Offline

mudando forma de passar esses parâmetros....

verifiquei que esse problema ocorre só quando tento passar dentro da função JS,
pois em uma galeria em flash, no meu AS3 passo determinados parâmetros usando
o '&' para passar mais de um parâmetro.
reinaldo558
JavaBaby

Membro desde: 21/06/2007 16:45:01
Mensagens: 79
Localização: Brasil - SP
Offline

Utilize a taglib do tomahawk jsValueSet ou seu equivalente no rich faces.

Fica mais ou menos assim:



Em name, defina o nome para a variável, e em value coloque o parâmetro do bean "#{xxx.yyy}".

Depois é só utilizar a variável no javascript.

NOTA: Essa "declaração de variável" tem que ficar antes do script que vai utilizá-la.

Reinaldo Elias
lreao
Thread.start()
[Avatar]

Membro desde: 18/09/2012 09:49:46
Mensagens: 31
Offline

Olá amigos,

Estou com um probleminha! Preciso passar o tamanho da tela capturada via js como parâmetro num método do bean!

Tem como fazer isso??

This message was edited 1 time. Last update was at 30/04/2013 18:05:43

reinaldo558
JavaBaby

Membro desde: 21/06/2007 16:45:01
Mensagens: 79
Localização: Brasil - SP
Offline

- você tem que ter um campo hidden no seu formulário, este campo hidden tem que estar linkado a uma variável da sua entidade.
- tanto o seu formulário quando o seu campo hidden tem que ter o atributo ID definidos
- No javascript você seta um valor nesse campo hidden, mais ou menos assim:

document.getElementById("idDoForm:idDoCampo").value = "123";

No jsf, mesmo quando você seta um ID fixo para um campo, quando o jsp é compilado ele recebe um novo id, ficando "id do formulario dois pontos id do campo".
Se você não definir nenhum id, para o form ou para o campo, o jsf vai gerar um numero aleatorio, tipo "_123:_779".
Como o javascript trabalha no navegador do cliente (página já compilada) você precisa trabalhar com os ids do jsp compilado.

Depois que o seu campo hidden estiver com o valor, você vai precisar fazer o submit no formulário, seja clicando em um botão ou usando ajax.
Uma gambiarra que eu costumava fazer, quando eu não podia usar ajax, era fazer um outro javascript mandando clicar em um botão automaticamente.
Eu criava um outro botão normal, com action e actionlistener, mas deixava ele oculto por css (style="display:none"), e no final do meu método javascript eu acionava esse botão document.getElementById("form:botao").click()

This message was edited 2 times. Last update was at 01/05/2013 10:07:41


Reinaldo Elias
lreao
Thread.start()
[Avatar]

Membro desde: 18/09/2012 09:49:46
Mensagens: 31
Offline

Olá reinaldo558, muito grato pela resposta amigo,


fiz uns testes aqui e não deu muito certo! Acho que estou fazendo algo errado. Segue código:


Existe algum erro? Vou testar de outras formas, já que me deu uma luz!

Abraço

 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team