Acessar EL via Javascript, como?

12 respostas
leandro.alves

Galera alguém sabe se é possível, e como acessar, uma EL em uma função JavaScript ?

12 Respostas

Guevara

Não sei se entendi direito, mas vc pode usar EL para usar em variáveis e trabalhar com javascript, eu consegui passar uma string de endereço pro Geocoding para que a função javascript funcionasse e achasse o mapa no google maps.
Veja um exemplo:

function initialize() {
 geocoder = new google.maps.Geocoder();
 var address = "${imovel.endereco},${imovel.bairro},${imovel.cidade},${imovel.estado},${imovel.pais}";

O “var” é onde eu declaro as EL e uso “address” como variável.
Era isso que vc queria saber?
Abraço!

leandro.alves

Guevara:
Não sei se entendi direito, mas vc pode usar EL para usar em variáveis e trabalhar com javascript, eu consegui passar uma string de endereço pro Geocoding para que a função javascript funcionasse e achasse o mapa no google maps.
Veja um exemplo:

function initialize() {
 geocoder = new google.maps.Geocoder();
 var address = "${imovel.endereco},${imovel.bairro},${imovel.cidade},${imovel.estado},${imovel.pais}";

O “var” é onde eu declaro as EL e uso “address” como variável.
Era isso que vc queria saber?
Abraço!

É isso sim, mas não sei porque não funciona, no meu caso estou recuperando o valor de um HashMap :

function teste(){
var value = "${lang_EN_US.language['enroll']}";
alert(value);
}

Está certo ?

Guevara

Aparentemente sim, o problema talvez seja quem está alimentando esse HashMap:

var value = "${lang_EN_US.language['enroll']}";  // Confira se o responsável pelo envio da informação para a EL está funcionando.

Ou então passe apenas um parâmetro ao invés de enviar vários dessa forma, repare que eu concatenei cada EL para formar uma string completa.

eltonads

Só pra saber… você está fazendo esse javascript dentro de um JSP, certo?
Por que só vai funcionar em um local aonde o EL seja traduzido para HTML, logicamente…

Faço esta pergunta porque onde eu trabalho o pessoal confundia muito o que era executado no server-side do que era executado no client-side…

leandro.alves

O HashMap esta correto, porque consigo recuperar a EL na JSP. Estou utilizando o HMap para refletir um arquivo “.properties”, achei que seria a melhor abordagem, mas, vou ver se funciona com uma String…

leandro.alves

eltonads:
Só pra saber… você está fazendo esse javascript dentro de um JSP, certo?
Por que só vai funcionar em um local aonde o EL seja traduzido para HTML, logicamente…

Faço esta pergunta porque onde eu trabalho o pessoal confundia muito o que era executado no server-side do que era executado no client-side…

Sim, em uma JSP, isso de server/client side passou pela minha cabeça, mas como o Guevara disse que funcionou com ele… vou fazer mais alguns testes…

Guevara

O que eu acho que não dá certo é alimentação dinâmica de EL numa variável javascript. Tô vendo aqui se acho algo relativo a isso.

andreiribas

Eu sempre faço assim:

por ex:

onclick="funcao('${variavel}');" >

e então trato o valor normalmente:

function funcao(nome) { alert(nome); }

leandro.alves

Ainda procurando… parece que quando o operador “[]” é involvido, as coisas param de funcionar…hehe

leandro.alves

Alguém explica ?

Assim funciona:

a href="#" onclick="javascript: confirm('&lt;c:out value="${lang_EN_US.language[\"operador\"]}" /&gt;')" /&gt; Teste </a>

Assim não:

function teste(){

confirm('&lt;c:out value="${lang_EN_US.language[\"login\"]}" /&gt;');

}
neeryck

Srs.
Alguém saberia dizer se dá p fazer um loop no javascript usando a EL ?

function test () {
	 for(i = 0; i &lt; array.length; i++) {
		array[i] = "#{bean.list["+i+"].myAttribute}";
	 } 
 }

Isso não funciona!! Alguém sabe?
Aqui ta mais detalhado o problema:
https://community.jboss.org/message/556720#556720

[]'s

V

neeryck:
Srs.
Alguém saberia dizer se dá p fazer um loop no javascript usando a EL ?

function test () {
	 for(i = 0; i &lt; array.length; i++) {
		array[i] = "#{bean.list["+i+"].myAttribute}";
	 } 
 }

Isso não funciona!! Alguém sabe?
Aqui ta mais detalhado o problema:
https://community.jboss.org/message/556720#556720

[]'s

Está vendo o sinal de Menor no seu for?
No javascript, ele interpreta como abertura de tag.
Você deve tentar usar a referência dele para ambientes web ou trocar a ordem da lógica. :stuck_out_tongue:
Hehe, eu sei, trocar a ordem fica meio estranho.

Espero ter ajudado.

Criado 21 de julho de 2010
Ultima resposta 5 de out. de 2011
Respostas 12
Participantes 6