#liferay #servlet-filters
#liferay #фильтры сервлетов
Вопрос:
Мы используем свойство StripFilter в наших производственных системах:
com.liferay.portal.servlet.filters.strip.StripFilter=true
но на большинстве страниц разметка удалена неправильно (некоторые части, такие как навигация, содержат огромные пробелы, другие, такие как заголовок, в порядке) или, в худшем случае, вся разметка не удалена!
Эти не разделенные страницы содержат до 20 тысяч строк исходного кода (в основном пустых), что приводит к снижению производительности браузеров.
В основном появляется, когда страницы запрашиваются от имени гостевого пользователя, но это невозможно воспроизвести. Эта проблема возникает также, когда мы отменяем развертывание всех веб-приложений.
Как мы можем исследовать эту проблему? Это распространенная проблема?
Ответ №1:
Если какая-то часть начала вашей страницы действительно удалена, а остальная часть нет, то фильтр сработал над вашим html. Возможно, у вас ошибка в вашем html-коде. Или полоса была просто слишком глупой.
Помните, что вы должны (из-за фильтра) закрывать теги ввода с помощью /> Если вы этого не сделаете, фильтр найдет следующий /> и не удалит ничего между ними!
Пример
<input name="bla">
<p> hello world,
<br />
<span> you are </span>
beautiful. </p>
Это приведет к следующему выводу, поскольку
закрывает
<input name="bla">
<p> hello world,
<br /><span>you are</span> beautiful. </p>
Комментарии:
1. К сожалению, нет. Все это не удалено. Перед определением doctype есть даже пробел.
2. Происходит ли это только на первой странице (например, / web/bla / ) или на всех страницах? Наша текущая настройка имеет проблемы только с главной страницей