Foros del Web » Programando para Internet » Javascript »

pasar array de string desde una jsp a javascript

Estas en el tema de pasar array de string desde una jsp a javascript en el foro de Javascript en Foros del Web. Hola ¿Como puedo pasar un array de string desde una página .jsp a javascript? Saludos!!...
  #1 (permalink)  
Antiguo 01/10/2008, 08:58
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
pasar array de string desde una jsp a javascript

Hola
¿Como puedo pasar un array de string desde una página .jsp a javascript?
Saludos!!
__________________
Si lo supiese no preguntaría...
  #2 (permalink)  
Antiguo 01/10/2008, 10:23
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: pasar array de string desde una jsp a javascript

Mmmm...

Bueno lo que podrias hacer es imprimir tu array en jsp con la sintaxis de array de javacript en la pagina en la que vas a usarlo, me explico.

Código:
<%
        String[] COLORS = {
      "#CA9A26",
      "#3BF428",
      "#F7E339",
      "#FF40FF",
   };
 %>
Ahora recorremos el array COLORS y formamos el array en javascript.

Código:
<script type="text/javascript">
array_en_js = Array(<%
for (int i = 0; i < COLORS.length; i++) {
      document.write(COLORS[i]);
	  if(i<(COLORS.length-1)){
	  	document.write(',');
	  }
	  
}
%>);
</script>
Mas o menos asi te sugiero, no lo he probado por que no tengo tomcat instalado pero creo que te da una idea...

Saludos...
  #3 (permalink)  
Antiguo 05/09/2010, 11:39
 
Fecha de Ingreso: junio-2010
Ubicación: Badajoz
Mensajes: 42
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: pasar array de string desde una jsp a javascript

Hola, siento revivir este tema antigüo, pero me parece que será util para la gente que lea este hilo en un futuro, como me lo hubiera sido a mi hace un par de dias.
El codigo que propones no funciona,ya que estas metiendo elementos de javascript dentro del scriplet JSP y eso no lo reconoce. La solucion más sencilla y que mejor se entiende en mi opinion, para utilizar un array de string de una pagina jsp en un script javascript sería la siguiente:


<%
String[] COLORS = {
"#CA9A26",
"#3BF428",
"#F7E339",
"#FF40FF",
};
%>
<script type="text/javascript">

var tamano=<%=COLORS.length%>

var array_js= new Array(tamano);

<%int i;//Lo declaramos fuera del bucle, porque sino a veces da problemas

for(i=0; i< COLORS.length; i++)
{%>
array_js[<%=i%>]= "<%= COLORS[i]%>";
// Si no fuera de Strings, quitamos las comillas:
//array_js[<%=i%>]= <%= COLORS[i]%>;
<%}%>
</script>

Para que quede claro, hay que decir, que la parte del servidor(scriplets jsp) se carga antes que la parte del cliente, por lo tanto el servidor NO puede conocer las variables que van a existir en la parte del cliente, pero la parte del cliente si puede conocer el contenido de las variables que existen dentro de la parte del servidor(mediante los scriplets <%= variable_servidor%>). Por ello, cuando queramos recorrer un array desde codigo javascript, usaremos para recorrerlo variables que existan dentro de la parte del servidor, nunca lo contrario ya que no las reconocerá.

Espero que sirva a mucha gente! Saludos!
  #4 (permalink)  
Antiguo 05/09/2010, 12:20
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: pasar array de string desde una jsp a javascript

Hola

Aunque creas que puede puede ayudar a otros, no revivas temas antiguos, aunque creas que es importante. Para eso puedes abrir un nuevo temas con las etiquetas [aporte]tema[/tema].
Pero ya que lo has traído, decirte que existe la función join(), creo recordar, con la que podría hacerse mas fácil ya que convierte en cadena los elementos de un array
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:41.