Это довольно старая тема, но я столкнулся с ней, когда у меня возникла та же проблема.Поскольку я сам думал о решении, я опубликую его здесь на случай, если оно кому-нибудь поможет в будущем.
Файл html (или jsp) ищет текст во внешнем файле, объявленном как источник javascript.
Tomcat (или аналогичный) интерпретирует только теги JSTL в файлах с расширением .jsp (или, возможно, некоторых других, но это не имеет отношения к этому ответу).
Итак, переименуйте ваш файл .jsчтобы дать ему расширение .jsp (например, javascript.js для javascript_js.jsp)
Добавьте эти строки вверху javascript_js.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
и просто оставьте кодбез изменений.
Очевидно, что вам также нужно добавить больше префиксов, если вы используете в заголовке некоторые отличные от c :.
Если вы используете Eclipse (не знаю о других IDE), онбудет предполагать, что это не файл javascript, и вы потеряете цветовую схему для различных ключевых слов (var, function и т. д.), автозаполнения имени var и автоматического отступа.
Чтобы обмануть IDE, вы можете добавить
// <script>
как комментарий js, перед фактическим кодом (после объявлений "<% @"), и </p>
// </script>
в конце файла, снова как комментарий js.
У меня это сработало.