2010-11-26 7 views
1

У меня есть javascript-файл (Util.js), который я использую в JSP. Как получить доступ к контексту приложения EL '$ {pageContext.request.contextPath}' в файле javascript? Этот EL работает, если функция javascript копируется внутри JSP. Но если я сохраню его в отдельном JS-файле, это не работает.Как получить доступ к контексту веб-приложения в файле JAVASCRIPT?

ответ

2

Ну, вы можете иметь свой файл .js как .jsp, но с Content-Type text/javascript (нежелательно), или вы можете определить JavaScript переменные в вашем JSP, который включает в .js файл, и передать (или менее желательно - используйте непосредственно) эти переменные для функций. Например:

<script type="text/javascript" src="js/scripts.js"></script> 
<input type="button" 
    onclick="someExternalJavascriptFunction('${pageContext.request.foo}')" /> 
+0

Спасибо за ответ. Да, это одно из решений. Мне интересно, должен ли файл javascript, который я включаю в JSP, также транслироваться при переводе страницы JSP. Это событие для функций javascript, которые находятся в JSP-файле, но не для JS-файла. – srikanth 2010-11-26 06:45:30

+0

Файл js не обрабатывается сервлетом JSP. Следовательно, он не будет оценивать эль-выражения. – Bozho 2010-11-26 06:58:31

2

Я не думаю, что вы можете использовать EL в файле javascript. Вы могли бы использовать var application_context = $ {pageContext.request.contextPath} в jsp (возможно, файл макета), в то время как сам var application_context может быть определен непосредственно в файле javascript.

Смежные вопросы