Использование в OGNL отображается как и не пробел - PullRequest
1 голос
/ 09 июня 2011

У меня есть следующие вложенные стойки 2 тега в JSP. Это внутри другого итератора, который, в свою очередь, находится внутри тега td для HTML-таблицы.

<s:property value="#rule.value" />
<s:set var="blanks" value="''" />
<s:iterator value="(#rule.key.length()).{ #this }">
   <s:set var="blanks" value="%{#blanks + '&nbsp;'}" />
</s:iterator>
<s:property value="#blanks" />

Общая цель - отобразить все значения s: свойства, которые вы видите в одной строке браузера. Для некоторых тегов (например, текстовое поле) вы можете изменить атрибут темы, и он не пытается печатать все в отдельной строке. Но в любом случае мне нужно, чтобы все было в одной строке внутри тега итератора.

Итак, что я пытаюсь сделать здесь, это создать строку nbsp. Длина такой строки будет меняться каждый раз при повторении этого фрагмента кода. Когда я запускаю это, итератор выполняется правильное число раз, но мой вывод &nbsp;&nbsp;&nbsp; ..... столько раз, сколько повторяется цикл. Мне нужен вывод пространства HTML для каждого nbsp, хотя В конечном счете, мне нужно, чтобы в td было определенное количество символов, чтобы эта таблица и отдельная таблица синхронизировались в процессе форматирования экрана.

Ответы [ 3 ]

3 голосов
/ 10 июня 2011

Вы забыли escapeHtml.

<s:property value="#blanks" escapeHtml="false" />  

или просто

${blanks}


escapeHtml / escape (устарело) : по умолчанию true


2 голосов
/ 09 июня 2011

Я не очень много знаю о тегах JSP, но я сталкиваюсь с ними время от времени ... Вы когда-нибудь видели escapeXml="false"? (используется в теге c: out)

0 голосов
/ 11 июля 2016

Просто используйте &nbsp; вместо &nbsp для удобного форматирования и выделения пробелов в любом месте, в том числе и в структуре Struts, и избежания слишком больших сложностей.

...