Подтвердить что ты не робот

Есть ли такая вещь, как JSP minifier? (или HTML с открытым исходным кодом minifier)

Это будет HTML minifier, который пропускает все между <% и %>.

Собственно, HTML-код с открытым исходным кодом minifier был бы хорошим стартовым местом, особенно если он уже имел код для сохранения содержимого определенных блоков, таких как <textarea. Возможно, этот код можно сохранить и для сохранения блоков <%%>.

Я знаю, что HTML minifiers менее распространен, потому что это изменяется чаще, чем JS/CSS, и часто динамически генерируется, но если компилятор JSP может быть сделан для минимизации перед созданием его скомпилированной копии кеша, это приведет к сокращенный HTML.

Кроме того, ASP minifier, вероятно, будет очень близок к тому же. И мне все равно, что пользовательские теги имеют смысл для сервера. Единственное, что важно для сервера (для моей компании), находится в блоках <%%>.

4b9b3361

Ответ 1

Этот вопрос немного устарел, но ответ с ресурсом по-прежнему не подходит для публикации.

HtmlCompressor делает это очень и очень просто.

Вы можете использовать его через Java API:

String html = getHtml(); //your external method to get html from memory, file, url etc.
HtmlCompressor compressor = new HtmlCompressor();
String compressedHtml = compressor.compress(html);

Или вы можете использовать его через Taglib:

Download .jar file of the current release and put it into your lib/ directory
Add the following taglib directive to your JSP pages:

<%@ taglib uri="http://htmlcompressor.googlecode.com/taglib/compressor" prefix="compress" %>

Please note that JSP 2.0 or above is required.

В JSP:

<compress:html removeIntertagSpaces="true">
    <!DOCTYPE html>
    ...
    </html>
</compress:html>

Приветствия

Ответ 2

JSP преобразуется в Java-код и подмножественно компилируется в байт-код. У Minifying JSP нет цели.

Вы можете обрабатывать вывод, сгенерированный на странице JSP, путем написания специального фильтра. Я написал фильтр, чтобы обрезать пустые строки и ненужные пробелы из выхода JSP, к сожалению, он не является общедоступным. Но если вы google вокруг, я уверен, вы можете найти фильтры сервлета, чтобы удалить ненужные вещи из сгенерированного HTML.

Ответ 3

Посмотрите на Trim Filter (http://www.servletsuite.com/servlets/trimflt.htm), который вы можете просто отобразить в своем web.xml. Это поможет вам удалить пробелы и также может отключить комментарии.

Из моего опыта, пробелы часто возникают в JSP, если вы используете теги, которые сами не имеют никакого вывода, такие как теги управления JSTL C (c: if, c: choose,...), а затем это очень удобно.

Ответ 4

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

С другой стороны, есть много лучших способов ускорить внешний интерфейс приложения.

  • Минимизация HTTP-запросов
  • Сопротивление JS, CSS
  • Содержимое gzip/deflate
  • Использование кэша браузера
  • Кэширование на стороне сервера, до изменения ресурса
  • И многие другие - http://developer.yahoo.com/performance/rules.html

WebUtilities - небольшая java-библиотека, которая поможет ускорить работу над J2EE-интерфейсом webapp. Ниже приведена ссылка.

http://code.google.com/p/webutilities/

С новой версией 0.0.4 она делает много оптимизации и приводит к значительному повышению производительности. Пожалуйста, посмотрите, если вы сочтете это полезным.