Вопрос

Файл .war обслуживается из GlassFish v3.Я пытаюсь включить файл javascript из моего jspx.

<script type="text/javascript" src="/base/interface/Service.js"></script>

Я получаю следующее в своем http-ответе

<script src="/base/interface/Service.js" type="text/javascript" />

Проблема в том, что оно должно включать </script> ярлык.Я считаю, что именно поэтому он работает в Chrome, но не в Firefox или IE.Любая идея, как заставить <script></script>

Обновлять:Не уверен, что это уместно, но вот начало моего файла jspx.

<jsp:root version="2.0"
      xmlns:jsp="http://java.sun.com/JSP/Page"
      xmlns:c="http://java.sun.com/jsp/jstl/core"
      xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
      xmlns:form="http://www.springframework.org/tags/form"
      xmlns:spring="http://www.springframework.org/tags"
      xmlns="http://www.w3.org/1999/xhtml">

    <jsp:output doctype-root-element="html"
            doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
            doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
    <jsp:directive.page contentType="text/html" pageEncoding="UTF-8"/> 
...
Это было полезно?

Решение

я использовал <script ...><jsp:text> </jsp:text></script> и это сохранило закрывающий тег.Я думаю, что это некрасиво, поэтому, если у кого-то есть лучший ответ, мне определенно будет интересно.

Другие советы

К сожалению, известно, что jspx «минимизирует» пустые элементы.Один из способов предотвратить минимизацию без добавления пробела в отображаемый HTML — вставить комментарий.Например:

<script ...><!-- keep open/close tags --></script>

Хотя это все равно некрасиво.

Потенциально более чистым решением было бы создание собственной библиотеки тегов, которая выводит правильный HTML, например:

<m:htmlScript type="text/javascript" src="/js/jquery-1.4.4.min.js"/>

производство:

<script type="text/javascript" src="/js/jquery-1.4.4.min.js">

Другой альтернативой может быть инкапсуляция тега в CDATA:

<![CDATA[<script type="text/javascript" src="/js/jquery-1.4.4.min.js"></script>]]>

Подробнее эту тему я рассмотрел здесь:Как создать действительный HTML с помощью JSPX?(не XHTML)

Еще одно некрасивое решение:

<tag>${null}</tag>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top