Включение файлов JS (JQuery) в файлы JSPX - PullRequest
8 голосов
/ 29 ноября 2011

Я создаю динамический веб-проект в Eclipse (почти с нуля), и я создал файл JSPX, куда я положил

<head>...
<script type="text/javascript" src="route/to/scripts/jquery.js"></script>
<script type="text/javascript" src="route/to/scripts/jquery.ui.js"></script>
<script type="text/javascript" src="route/to/scripts/something.js"></script>
</head>

Я собираюсь использовать Сортируемый пользовательский интерфейс Jquery , и я обнаружил, что при использовании JSPX только первый скрипт загружается в Firefox и IE (в то время как в опере он работает ...). Если я использую обычный JSP, будь то HTML XHTML, он загружает все файлы JS.

Есть ли способ успешно включить все файлы JS без использования

<script>
<jsp:include ...>
</script>

что я должен знать? (потому что этот загружает скрипт в окончательный (X) HTML)

РЕДАКТИРОВАТЬ: Просто подумать ... почему Opera правильно читает xhtml, в то время как FF и IE не читают теги <script>? Может ли это быть ошибка?

1 Ответ

11 голосов
/ 29 ноября 2011

JSPX имеет своеобразное поведение, заключающееся в том, что он автоматически сворачивает теги без тела.Таким образом,

<script type="text/javascript" src="route/to/scripts/jquery.js"></script>
<script type="text/javascript" src="route/to/scripts/jquery.ui.js"></script>
<script type="text/javascript" src="route/to/scripts/something.js"></script>

будет отображаться в браузере как

<script type="text/javascript" src="route/to/scripts/jquery.js" />
<script type="text/javascript" src="route/to/scripts/jquery.ui.js" />
<script type="text/javascript" src="route/to/scripts/something.js" />

, что является неверным синтаксисом <script> (щелкните правой кнопкой мыши страницу в браузере и выполните Просмотр источника , чтобы увидетьэто сам).Поведение браузера не определено.

Вы можете обойти это, поставив <jsp:text /> между тегами

<script type="text/javascript" src="route/to/scripts/jquery.js"><jsp:text /></script>
<script type="text/javascript" src="route/to/scripts/jquery.ui.js"><jsp:text /></script>
<script type="text/javascript" src="route/to/scripts/something.js"><jsp:text /></script>
...