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 Results

Here are the results for $query:

#foreach resultinresult in resultinresults { }
$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();

См. также

Ссылки

Просмотр этого шаблона Веб-фреймворки
ASP.NET DotNetNukeASP.NET MVC • MonoRail
ColdFusion ColdSpring • Fusebox • Mach-II • Model-Glue
Java Apache (CocoonStrutsVelocity • WebWork 2) • AppFuse • AraneaEclipseFacelets • Flexive • FreeMarkerGoogle Web ToolkitGrailsHamlets • ItsNat • JavaServer Faces • Jspx • JBoss Seam • jZeno • Makumba • OpenLaszlo • OpenXava • Reasonable Server Faces (RSF) • Restlet • RichFaces • RIFE • Shale • SmartClientSpringStripesTapestry • ThinWire • VaadinWebMacro • WebWork • WebObjects • WicketZK
JavaScript node.js • AJILE • Clean AJAX • Dojo Toolkit • Echo • Ext JSjQueryjMaki • Microsoft AJAX Library • MochiKit • MooToolsPrototype • qooxdoo • Rialto Toolkit • Ricoscript.aculo.usSmartClientSprySproutCoreYahoo! UI LibraryUnderscorePhoneGap
Perl CatalystInterchange • Titanium • Maypole • HTML:Mason
PHP Acode • Akelos • BlueShoes • CakePHP • Canvas • CodeIgniterCotonti • DIY • Drupal • Fuse • Horde • KohanaLiveStreet • PHP For Applications • PHPOpenbiz • PRADO • Qcodo • Seagull • Solar • Symfony • W3Core • YiiZend • Zoop • Joomla
Python CherryPyDjangoGAE framework • Karrigell • Nevow • Porcupine • PylonsPyramid • Spyce • TurboGearsTwistedTornado • Webware • Zope
Ruby Camping • Nitro • IOWA • Ramaze • Cerise • MerbRuby on RailsSinatra • Padrino
Прочиеязыки Alpha Five • Fusebox (ColdFusionPHP) • Helma Object Publisher (Server-side) • Lift (Scala) • Magic (Scheme) • OpenACS (Tcl) • Seaside (Smalltalk) • UnCommon Web (Common Lisp) • Yaws (Erlang) • Oracle Application Express (PL/SQL)