Почему мой EL-оператор работает только в скрипт-теге, где я не импортирую js.file через src-ссылку?

У меня есть файл javascript, где я собрал ajax-вызовы для входа в систему и другие профили пользователей, которые должны быть доступны на всех страницах моего веб-приложения.

Для всех моих вызовов ajax мне нужен контекстный путь веб-приложения, чтобы получить правильный URL. Переменная baseUrl может быть определена какvar baseUrl = "${pageContext.request.contextPath}";.

Я испытываю загадочную ошибку, хотя. Если я попытаюсь инициализировать переменную baseUrl внутри моегоlogin.js-файл, не работает. Он просто устанавливается на строковое значение"${pageContext.request.contextPath}" Этот .js-файл содержит все скрипты, где мне действительно нужна переменная. Однако, если я определю его внутри тега script без исходного кода в самом файле .jsp, он будет работать как шарм. (Код внизу)

Я предполагаю, что это как-то связано с тем, когда и в какой области выражение компилируется и / или выполняется, а также, возможно, также и между динамическим и статическим импортом кода. Я просто не могу точно понять, что происходит, и почему мой желаемый подход - определить переменную внутриlogin.js-файл, не работает.

Рабочая импортная выписка:

<script>var baseUrl = "${pageContext.request.contextPath}";</script>
<script src="<c:url value="/js/login.js"/>" type="text/javascript"></script>

Ответы на вопрос(1)

Ваш ответ на вопрос