
05/09/2010, 11:39
|
| | Fecha de Ingreso: junio-2010 Ubicación: Badajoz
Mensajes: 42
Antigüedad: 14 años, 8 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! |