Как заставить файлы тегов JSP НЕ игнорировать все пробелы?

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

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


person Tim Trueman    schedule 28.10.2008    source источник


Ответы (4)


На самом деле это ошибка в синтаксическом анализаторе 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
person BalusC    schedule 25.01.2010
comment
Я хочу напечатать имя внутри TD, между которыми есть 2 пробела, например, abc de. Я печатаю как ‹c:out value=‹%=name%›/›. Но получаю одно белое пространство. - person Samurai; 31.08.2018

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

person alex77    schedule 28.10.2008

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

person gshegosh    schedule 25.01.2010

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

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

person evnafets    schedule 18.03.2009
comment
Мое решение состояло в том, чтобы просто поместить весь текст на 100% в файлы свойств. Иногда мне приходится соединять вещи в цепочку, так как текст несколько динамичен: например, пользователь1, пользователь2 и пользователь3 что-то сделали. - person Tim Trueman; 31.03.2009