Как отключить проверку Javascript в тегах <script>в JSP ... в Eclipse - PullRequest
1 голос
/ 02 сентября 2010

Я использую JSTL для генерации объекта JavaScript в небольшом количестве встроенного скрипта в JSP, например:

<script>
    var data = [
        <c:forEach items="${MyData}" var="Datum" varStatus="status">
        {
            foo: ${Datum.foo},
            bar: '${Datum.bar}'
        }<c:if test="${not status.last}">,</c:if>
        </c:forEach>
    ];
</script>

, и Eclipse полностью не может его проверить.HTML-код, который он генерирует, корректен - так как мне заставить Eclipse перестать пытаться интерпретировать / проверить JavaScript?

Я сталкивался здесь с несколькими похожими вопросами на SO, но ни один из них не работал - включаяв Настройки -> Проверка и флажок «Приостановить все валидаторы»!

Ответы [ 2 ]

1 голос
/ 23 января 2012

В случае, если кто-то все еще заинтересован в обходном пути;

Помещение кода в файл jsp и включение его в файл jsp предотвратит проверку JavaScript.

<script><%@include file="data_include.jsp" %></script>

Еще один быстрый и грязный обходной путь:

<script>var data = [];</script>

<c:forEach items="${MyData}" var="Datum" varStatus="status">
    <c:out value="${'<script>'}" escapeXml="false"/>
        data.push({
            foo: ${Datum.foo},
            bar: '${Datum.bar}'
        });
    <c:out value="${'</script>'}" escapeXml="false"/>
</c:forEach>

Даже если вы выполняете сериализацию на стороне сервера, Eclipse (Galileo) по-прежнему выдает ошибки проверки для c: out и $ {} в теге script. В любом случае мне нужно сделать что-то вроде следующего:

<c:out value="${'<script>var data = ${jsonData};</script>'}" escapeXml="false"/>
0 голосов
/ 02 сентября 2010

Вы пытались скрыть код с CDATA?

<script>
  //<![CDATA[
      ...
  //]]>
</script>

С или без //

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...