Элементы в Groovy MarkupTemplateEngine - PullRequest
0 голосов
/ 10 апреля 2019

Я рассматриваю возможность создания проекта в Spring MVC (на Java) с использованием MarkupTemplateEngine Groovy для визуализации представлений.Я новичок в Groovy.

Вопрос : Что такое Groovy Way для создания повторно используемых элементов представления?

Примеры : (синтаксис может отличаться)

  1. Изображение профиля

    profilePicture(someuser) -> <img src="/users/profilepics/42" alt="John Doe">

  2. FontAwesome

    fa('foo') -> <i class="fa fa-foo"></i>

  3. Портлет (например, 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 будет явно записывать эти элементы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...