Groovy MarkupTemplateEngine中的元素

时间:2019-04-10 14:25:08

标签: groovy

我正在考虑使用Spring MVC来渲染Groovy's MarkupTemplateEngine(在Java中)中的项目(使用Java)。我是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. Portlet(例如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 就是将这些元素明确地写出来?

0 个答案:

没有答案