2011-11-30 8 views
8

¿Hay alguna manera de obtener un atributo establecido en ServletContext en EL para que termine como una variable de JavaScript?¿Cómo puedo imprimir un atributo de contexto de servlet en EL?

me he fijado como

context.setAttribute("testing.port", "9000"); 

He intentado recuperarla como

alert("port" +'${testing.port}'); 

Estoy recibiendo un espacio en blanco.

Respuesta

8

El problema es el período (.) en el nombre de la clave. EL interpreta el período como una llamada a un método de acceso llamado getPort en cualquier objeto testing referencias. Fetch the value from the appropriate implicit object:

${applicationScope['testing.port']} 

o simplemente utilizar una clave diferente:

${testingPort} 

Sí, esto es una simplificación de lo que realmente sucede. También puede buscar un getter de predicado llamado isPort, o probar Map#get("port").

+0

'$ {servletContext}' no existe. Hay '$ {pageContext.servletContext}', pero eso no es lo que quieres. Ver también http://stackoverflow.com/tags/el/info y http://docs.oracle.com/javaee/5/tutorial/doc/bnahq.html#bnaij – BalusC

+0

Ahhh, muchas gracias. Eso lo aclara ... ¡mi JSP se está oxidando! –

Cuestiones relacionadas