2010-04-19 2 views
1

Я знаю, что некоторые люди используют ANT для выполнения этого, но я не хочу удалять комментарии HTML из реального jsp, я просто хочу, чтобы их можно было отделить от вывода, если пользователи не добавили параметр в url, чтобы показать комментарии для отладки.Как вы можете удалить HTML-комментарии из страницы, созданной с помощью JSP/JSTL?

ответ

1

Здесь HTMLCompressor lib, который может быть вызван либо из кода, либо как тег JSP для разделения комментариев и многое другое.

1

Проще говоря, вам нужен фильтр перед JSP. Что-то, чтобы опубликовать результаты.

Фильтр ищет HTTP-запрос для соответствующего параметра и решает оттуда или нет фильтровать исходящие результаты HTML пользователю.

Что касается фильтрации, вы можете использовать для этого простой REGEX. Недостатком REGEX является просто то, что вам нужно будет дублировать весь исходящий результат в памяти, прежде чем отправлять его пользователю. Это потребляет не только память, но и время, в зависимости от того, как отображаются ваши результаты. Но, теоретически, REGEX может работать.

Лучше будет потоковый HTML-лексер, чтобы читать содержимое пополам и отфильтровывать комментарии таким образом. Я не могу предложить использовать, я написал свой собственный.

Но фильтр - это то, что вы хотите.

2

Вы можете использовать JtidyFilter с hide-comments, установленным на true.

<init-param> 
    <param-name>config</param-name> 
    <param-value>hide-comments: true</param-value> 
</init-param> 

Чтобы сделать его более настраиваемым, используйте JTidy в своем собственном настраиваемом фильтре.

+0

ok, но как я могу использовать это с помощью querystring http://myurl.com?showcomments=true – qodeninja

+0

Прочитайте последнюю строку моего ответа. – BalusC