Mostrar en un script variables de JSP

borjamary
21 de Mayo del 2005
me gustaria mostrar en un script "alert" algunas variables que tengo en un jsp.

Como tengo que hacer?

Ken
21 de Mayo del 2005
No puedes. Las variables JSP no tiene en principio nada que ver con las variables javascript.

Las variables JavaScript "viven" en el navegador. Las variables del JSP "viven" en el Servlet (un JSP no es más que un Servlet en cuestiones funcionales). Las variables se inicializan y mueren tras la petición al servlet, con lo que dificilmente se podrán calcular dinámicamente en un navegador, salvo, por supuesto, que el navegador haga un submit al servidor y pregunte explícitamente (o sea, que hagas tú una depuración en la propia página o en otra).

Un truco muy sucio que hay es declarar las variables "al vuelo" a medida que generamos el HTML. Por ejemplo, para mostrar una variable llamada "miVar" en el JSP para que en el cliente esté disponible, a la hora de generar el HTML haríamos:

<script language="JavaScript">
var miVarJS = <%=miVar%>;
</script>

Como ves, es sucio, ya que hacemos una declaración JavaScript usando un valor dinámico del JSP. Como la hemos declarado fuera de todas las posibles funciones de JavaScript y con la palabra "var" delante, esta variable estará siempre disponible para el navegador. Podemos verla con:

alert("Valor: "+miVarJS);

desde JavaScript.

Un saludo,

Ken

borjamary
21 de Mayo del 2005
ok gracias