Использование шаблонов jQuery в Struts2 - PullRequest
0 голосов
/ 22 июля 2011

Я пытаюсь обновить страницу, используя Struts2 (, используя jOWL для отображения онтологии ).Исходная HTML-страница использует шаблоны jQuery, имеющие несколько строк, таких как:

<h2 class="propertybox title" data-jowl="rdfs:label">${rdfs:label}</h2>
<span class="alt">${?p}</span><span>: </span><span>${?t}</span>

для отображения переменной, определенной в файле сценария jQuery.Это достаточно хорошо работает как файл .html.Однако файл .jsp считает, что я пытаюсь использовать переменные Struts, а не шаблон jQuery.Он падает, когда сталкивается с двоеточием и знаком вопроса.

Я нашел несколько библиотек jQuery Struts2 , но я не увидел ни одного тега, который сопоставлялся бы с шаблонами jQuery.Есть ли другой способ сделать это?

Ответы [ 2 ]

1 голос
/ 06 августа 2011

В отношении EL и предлагаемого шаблона:

${'${'}expr}

В соответствии с Oracle вы можете отключить синтаксический анализ EL: Отключение оценки выражения EL

<%@ page isELIgnored ="true|false" %> 

Поскольку шаблон, который идентифицирует выражения EL - $ {}, не был зарезервирован в спецификациях JSP до JSP 2.0, могут существовать приложения, в которых такой шаблон предназначен для дословного прохождения. Чтобы предотвратить оценку шаблона, вы можете отключить оценку EL.

Допустимые значения этого атрибута: true и false. Если это правда, EL выражения игнорируются, когда они появляются в статическом тексте или атрибутах тега. Если оно ложно, выражения EL оцениваются контейнером.

1 голос
/ 22 июля 2011

Ваша проблема в том, что jsp считает $ {} EL. Так что вам нужно как-то избежать части экспресса, это не будет красиво:

From the JSP 2 spec:

For literal values that include the character sequence ${, JSP 2.0 provides a
way to escape them by using the sequence ${'${'. For example, the following
character sequence is translated into the literal value ${expr}:

${'${'}expr}

Источник: http://www.velocityreviews.com/forums/t129212-ot-jsp-escape-el-expressions.html

...