#java #angularjs #jsp
#java #angularjs #jsp
Вопрос:
у меня есть модуль с константами
angular,module('myconstants',[]).constant('url','<%=MyBean.getUrl("uri-prefix")');
Когда я использую эту константу url, она отображается как строка (‘ <%=MyBean.getUrl("uri-prefix")');
), но на самом деле она должна вызывать метод MyBean.getURL .
есть предложения?
Ответ №1:
Если вы получаете доступ к переменным в файле JSP, вы можете изменить приведенный ниже код
angular,module('myconstants',[]).constant('url','<%=MyBean.getUrl("uri-prefix")');
angular,module('myconstants',[]).constant('url','<%=MyBean.getUrl("uri-prefix")%>');
Но если код размещен вне файла JSP, вы можете использовать глобальную переменную для доступа к переменным.
вы можете ввести код ниже (в файле JSP)
<script>
url = '<%=MyBean.getUrl("uri-prefix")%>'
</script>
затем вы можете получить доступ (в других файлах javascript)
angular.module('myconstants',[]).constant('url',url);
Комментарии:
1. извините за опечатку в моем вопросе,
angular,module('myconstants',[]).constant('url','<%=MyBean.getUrl("uri-prefix")%>');
я использовал то же самое в своем коде, и я получал ошибку, позвольте мне попробовать с глобальными переменными2. Имейте в виду, что JSP — это технология отображения на стороне сервера, и если ваш контейнер Java-сервлетов настроен правильно, он будет выполняться перед любым вашим Javascript. Другими словами, код JSP часто используется для отображения как HTML, так и Javascript, а затем браузер выполнит Javascript (при условии, что он отображается правильно).