Я рассматриваю возможность создания проекта в Spring MVC (на Java) с использованием MarkupTemplateEngine Groovy для визуализации представлений.Я новичок в Groovy.
Вопрос : Что такое Groovy Way для создания повторно используемых элементов представления?
Примеры : (синтаксис может отличаться)
Изображение профиля
profilePicture(someuser)
-> <img src="/users/profilepics/42" alt="John Doe">
FontAwesome
fa('foo')
-> <i class="fa fa-foo"></i>
Портлет (например, Bootstrap)
portlet(...) { ... }
->
<div class="portlet">
<div class="portlet-header">Some title</div>
<div class="portlet-body">Lots of content</div>
</div>
Я выбрал три примера, потому что у меня есть ощущение, что у каждого может быть свой ответ.
То, что я нашел до сих пор :
Я знаю, что могу включить другие шаблоны .Это могло бы быть решением для 3, но для 1 и 2 это было бы излишним.
Я также знаю, что могу расширить базовый класс представления и ввести новые методы.Я видел пример, который добавил поддержку FontAwesome таким образом.Тем не менее, я хотел бы отделить проект (1) от более общих, повторно используемых (2) методов.Также я бы предпочел иметь несколько пространств имен (например, Users.profilePicture(...)
и Bootstrap.portlet(...)
)
Я мог бы использовать классы со статическими методами .Это может вызвать проблемы?Я полагаю, я не мог получить доступ к сессии, верно?(Например, ссылка на профиль в 1, но только если someuser! = Аутентифицированный пользователь.)
Я мог бы просто добавить экземпляры вспомогательных классов в модель .Но контроллер должен в основном забывать о конкретных требованиях помощника в представлении.
Или я полностью упускаю суть, и Groovy Way будет явно записывать эти элементы?