Acessar EL via Javascript, como?

12 respostas
L

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

12 Respostas

G

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!

L

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 ?

G

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.

E

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…

L

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…

L

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…

G

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.

A

Eu sempre faço assim:

por ex:

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

e então trato o valor normalmente:

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

L

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

L

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;');

}
N

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