автоматическая обрезка пробелов в jsps - PullRequest
4 голосов
/ 03 декабря 2009

Есть хороший способ обрезать пробелы, генерируемые JSP, не прибегая к следующим методам:

  • trimSpaces директива jasper: может испортить ваш макет, съев значительные места, где вы хотите их
  • окружающие области, которые вы хотите обрезать, JSP comments , комментируя пробелы. это усложняет редактирование JSP и выглядит ужасно

Мне бы хотелось узнать, знает ли кто-нибудь лучший способ выборочной обрезки пробелов в JSP

edit : все, что я делаю сейчас, это помещаю все мои теги в один, как это:

<c:forEach var="date" items="${model.list}"><%--
--%><c:set var="dateStr"><ct:dateFormat date="${date.startDate}"/></c:set><%--
--%><option value="${dateStr}">${dateStr}</option><%--
--%></c:forEach>

Ответы [ 4 ]

2 голосов
/ 04 декабря 2009

места для еды, где вы хотите их

Можете привести пример? Я действительно не могу себе представить такую ​​необходимость.

Вы имеете в виду внутри textareas? Внутри HTML <pre> элементов? Внутри CSS white-space:pre стилизованные элементы? Параметр trimSpaces Tomcat должен учитывать их.

Или вы имеете в виду пробелы для макета ? Ну, они действительно не принадлежат там. Подумайте о замене на CSS поля margin / padding и сохраните настройку trimSpaces.

2 голосов
/ 03 декабря 2009

Вы имеете дело с выбором наименьшего из всех зол здесь. Я бы пошел с директивой jasper trimSpaces , и если у вас есть пробелы, которые имеют большое значение в вашем макете, вы можете стратегически вставить пробел, как это:

<c:out value=" " />

или как это:

${ }

Другие варианты обрезки пробелов, которые не были упомянуты в вашем посте:

  • Напишите фильтр сервлетов, который урезает пробелы в качестве шага пост-рендеринга (это должно быть достаточно умно, чтобы не урезать ваш «существенный» пробел).
  • Поместите все свои теги jsp в одну строку (шучу, не делай этого!)
0 голосов
/ 02 августа 2010

Попробуйте: http://coldjava.hypermart.net/servlets/trimflt.htm Просто сам реализовал это как фильтр сервлетов, работает брелок.

Другой вариант: htmlcompressor (Google, я могу предоставить только 1 ссылку atm ...)

Taglib htmlcopressor позволяет использовать оболочку, также есть компрессоры для CSS и JS.

0 голосов
/ 07 декабря 2009

проверить фильтр Trim от JSOS: http://www.servletsuite.com/servlets/trimflt.htm

...