Как сделать так, чтобы файлы тегов JSP НЕ игнорировали все пробелы? - PullRequest
8 голосов
/ 29 октября 2008

Я действительно в тупике. Я хочу вывести список и сделать так, чтобы файл тегов заботился о запятых, единственном и множественном числе и т. Д., Но когда я отображаю список, он полностью игнорирует пробелы, поэтому все запускается вместе. Я пытался использовать HTML-сущности "thinsp", "ensp" и "emsp" (я не могу использовать "nbsp", они должны ломаться), но все они ужасно широки в IE, за исключением thinsp, который слишком худой на все остальное.

Edit: не сработает Вывод из тега не имеет пробелов вообще. Хотя любой контент в JSP имеет нормальный интервал. Очевидно, я мог бы просто поместить все в JSP, но это код, который работает с несколькими JSP, поэтому файлы тегов имеют большой смысл.

Ответы [ 4 ]

14 голосов
/ 25 января 2010

На самом деле это ошибка в синтаксическом анализаторе EL, которая приводит к смещению пробелов между выражениями EL. Э.Г.

${bean.foo} ${bean.bar} ${bean.waa}

будет напечатано как (при условии, что они возвращают то же самое значение String, что и имя его свойства):

foobarwaa

Я помню, что об этой проблеме сообщалось где-то раньше, но сейчас я не могу ее найти. На данный момент вы можете исправить это с помощью тега JSTL c:out:

<c:out value="${bean.foo} ${bean.bar} ${bean.waa}" />

, который правильно печатается как:

foo bar waa
2 голосов
/ 29 октября 2008

Может быть, поместить содержимое JSP в тег HTML <pre>? Мне кажется, это правильно, так как список предварительно отформатирован.

0 голосов
/ 25 января 2010

Я использовал &#32; сущность вместо пробела, но в целом я думаю, что это отстой, что либо ВСЕ пробелы съедены, и нужно взламывать сущности, либо у вас есть огромное пространство в сгенерированном HTML-коде.

0 голосов
/ 18 марта 2009

То есть вы говорите, что ваш тег вообще не печатает пробелы? Есть ли какие-либо пробелы для распечатки?

Можете ли вы опубликовать код и краткий пример того, как вы его используете?

...