Обзор
Jetbrick-template — это новое поколение Java-шаблонизаторов, обладающее высокой производительностью и расширяемостью. Подходит для динамического вывода HTML-страниц или генерации кода, может заменить JSP-страницы или шаблоны Velocity. Синтаксис похож на Velocity, а выражения соответствуют Java, что делает его лёгким в изучении и использовании.
Документация
http://subchen.github.io/jetbrick-template/
Простые и удобные команды
Синтаксис Jetbrick-template похож на набор команд старых шаблонизаторов Velocity и лёгок в освоении.
#define(List<UserInfo> userlist)
<table>
<tr>
<td>序号</td>
<td>姓名</td>
<td>邮箱</td>
</tr>
#for (UserInfo user : userlist)
<tr>
<td>${for.index}</td>
<td>${user.name}</td>
<td>${user.email}</td>
</tr>
#end
</table>
Основные API разработки
Конкретный код на Java выглядит следующим образом:
// Создаём экземпляр JetEngine по умолчанию
JetEngine engine = JetEngine.create();
// Получаем шаблонный объект
JetTemplate template = engine.getTemplate("/sample.jetx");
// Создаем объект контекста
Map<String, Object> context = new HashMap<String, Object>();
context.put("user", user);
context.put("books", books);
// Визуализируем шаблон
StringWriter writer = new StringWriter();
template.render(context, writer);
// Выводим результат
System.out.println(writer.toString());
Превосходная производительность
Jetbrick-template компилирует шаблоны в байт-код Java и использует вывод типов, избегая отражения и уменьшая необходимость преобразования типов. Скорость рендеринга эквивалентна жёстко запрограммированному коду на Java. Это значительно быстрее, чем Velocity и другие шаблонизаторы, поскольку JSP только Scriptlet компилируется, а Tag и EL интерпретируются и выполняются. В то время как Jetbrick-template полностью компилируется.
На рисунке показана сравнительная диаграмма производительности.
В режиме потока (Webapp использует OutputStream для вывода текста в браузер), поскольку жёстко закодированный вывод строки Java требует однократного преобразования кодировки. Однако Jetbrick-template кэширует результаты преобразования кодировки после первого запуска, делая производительность Jetbrick-template даже лучше, чем у жёстко закодированного кода Java.
Тестовая платформа: Windows 7 x64, Intel i5, 16 ГБ ОЗУ, JDK 1.6.0_41 x64.
Автор
Лицензия с открытым исходным кодом
jetbrick-template http://subchen.github.io/jetbrick-template/
Copyright 2010–2014 Guoqiang Chen. Все права защищены. Email: subchen@gmail.com
Лицензия Apache версии 2.0 («Лицензия»); вы не можете использовать этот файл, кроме как в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу:
http://www.apache.org/licenses/LICENSE-2.0
Если это не требуется применимым законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, предоставляется «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО ВИДА, явных или подразумеваемых. См. Лицензию для конкретного языка, регулирующего разрешения и ограничения в рамках Лицензии.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )