1792 год в экономике
- 1 year ago
- 0
- 0
WebMacro — фреймворк предназначенный для разработки сервлетов . Фреймворк реализует шаблон проектирования Model-View-Controller , обеспечивая чистое разделение ответственностей, а именно WebMacro, обеспечивает чистое отделение исходного кода проекта от HTML -кода представления.
WebMacro – распространяется как проект с открытым исходным кодом .
WebMacro первоначально создавался и разрабатывался Джастином Уэллсом из Semiotek Inc., в середине 2000 года проект был принят командой в SourceForge .
Кроме того, WebMacro, может использоваться для генерации произвольного текстового вывода на основе шаблона (один из способов такого использования является автоматизированная генерация кода).
Шаблонный язык очень похож на язык, используемый в Apache Velocity , а также имеется автоматизированный скрипт , выполняющий миграцию.
Пример использования шаблона, и простого Java приложения. Исходный текст шаблона с именем search.view
<html><head><title>Search Results</title></head>
<body>
<h1>Here are the results for $query:</h1>
<table>
#foreach $result in $results {
<tr><td>$result.Number</td>
<td><a href="$result.Link">$result.Name</a></td></tr>
}
</table>
</body></html>
Символ «$» определяет, что за ним в шаблоне следует имя переменной.
Сокращенный пример Java-кода использующего WebMacro:
WebMacro wm = new WM(); // вероятно, будет создан только однажды в Вашем сервлете
FastWriter out = wm.getFastWriter (outStream, "UTF8"); // создаётся FastWriter с кодированием UTF8
Context c = wm.getContext(); // производится в каждом запросе
c.put("query", queryString); // помещает обычный Java объект, в данном случае строку
Result[] res = ...; // некоторые данные предназначенные для вывода: возможно результаты поиска.
c.put("results", res); // размещение объекта в контексте
Template t = wm.getTemplate("search.view");
t.write(out, c);
out.flush();