WebMacro | это... Что такое WebMacro? (original) (raw)
WebMacro
Тип | Обработчик шаблонов |
---|---|
Разработчик | SourceForge |
Написана на | Java |
Операционная система | Кроссплатформенное ПО |
Последняя версия | 2.2 (25 февраля 2010) |
Лицензия | BSD |
Сайт | webmacro.sourceforge.net |
WebMacro — фреймворк предназначенный для разработки Java Сервлетов. Фреймворк реализует шаблон проектирования Model-View-Controller, обеспечивая чистое разделение ответственностей, а именно WebMacro обеспечивает чистое отделение исходного кода проекта от HTML кода представления. WebMacro — распространяется как проект с открытым исходным кодом.
WebMacro первоначально создавался и разрабатывался Джастином Уэллсом из Semiotek Inc., в середине 2000 года проект был принят командой в SourceForge.
WebMacro может также использоваться, для генерации произвольного текстового вывод на основе шаблона (один из способов такого использования является автоматизированная генерация кода).
Шаблонный язык очень похож на язык, используемый в Apache Velocity а также имеется автоматизированный скрипт, выполняющий миграцию.
Пример кода
Пример использования шаблона, и простого Java приложения. Исходный текст шаблона с именем search.view
Search ResultsHere are the results for $query:
$result.Number | $result.Name |
Символ «$» определяет, что за ним в шаблоне следует имя переменной.
Сокращенный пример 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();
См. также
- Apache Velocity
- FreeMarker
- xmlc
- JSP
Ссылки
- Официальный сайт (англ.)
- Сравнение обработчиков шаблонов для Java (англ.)
Веб-фреймворки | |
---|---|
ASP.NET | DotNetNuke • ASP.NET MVC • MonoRail |
ColdFusion | ColdSpring • Fusebox • Mach-II • Model-Glue |
Java | Apache (Cocoon • Struts • Velocity • WebWork 2) • AppFuse • Aranea • Eclipse • Facelets • Flexive • FreeMarker • Google Web Toolkit • Grails • Hamlets • ItsNat • JavaServer Faces • Jspx • JBoss Seam • jZeno • Makumba • OpenLaszlo • OpenXava • Reasonable Server Faces (RSF) • Restlet • RichFaces • RIFE • Shale • SmartClient • Spring • Stripes • Tapestry • ThinWire • Vaadin • WebMacro • WebWork • WebObjects • Wicket • ZK |
JavaScript | node.js • AJILE • Clean AJAX • Dojo Toolkit • Echo • Ext JS • jQuery • jMaki • Microsoft AJAX Library • MochiKit • MooTools • Prototype • qooxdoo • Rialto Toolkit • Rico • script.aculo.us • SmartClient • Spry • SproutCore • Yahoo! UI Library • Underscore • PhoneGap |
Perl | Catalyst • Interchange • Titanium • Maypole • HTML:Mason |
PHP | Acode • Akelos • BlueShoes • CakePHP • Canvas • CodeIgniter • Cotonti • DIY • Drupal • Fuse • Horde • Kohana • LiveStreet • PHP For Applications • PHPOpenbiz • PRADO • Qcodo • Seagull • Solar • Symfony • W3Core • Yii • Zend • Zoop • Joomla |
Python | CherryPy • Django • GAE framework • Karrigell • Nevow • Porcupine • Pylons • Pyramid • Spyce • TurboGears • Twisted • Tornado • Webware • Zope |
Ruby | Camping • Nitro • IOWA • Ramaze • Cerise • Merb • Ruby on Rails • Sinatra • Padrino |
Прочиеязыки | Alpha Five • Fusebox (ColdFusion • PHP) • Helma Object Publisher (Server-side) • Lift (Scala) • Magic (Scheme) • OpenACS (Tcl) • Seaside (Smalltalk) • UnCommon Web (Common Lisp) • Yaws (Erlang) • Oracle Application Express (PL/SQL) |