Acessar EL via Javascript, como?

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

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!

[quote=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![/quote]

É 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 ?

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.

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…

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…

[quote=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…
[/quote]

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…

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.

Eu sempre faço assim:

por ex:

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

e então trato o valor normalmente:

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

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

Alguém explica ?

Assim funciona:

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

Assim não:

function teste(){

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

}

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] = &quot;#{bean.list[&quot;+i+&quot;].myAttribute}&quot;;
	 } 
 }

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

[]'s

[quote=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] = &quot;#{bean.list[&quot;+i+&quot;].myAttribute}&quot;;
	 } 
 }

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

[]'s[/quote]

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.