博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Groovy - Groovy Templates
阅读量:7033 次
发布时间:2019-06-28

本文共 1970 字,大约阅读时间需要 6 分钟。

Groovy Templates
    Add comment to Wiki
    View in Wiki
    Edit Wiki page
    Printable Version
    Introduction
    Groovy supports multiple ways to generate text dynamically including GStrings, printf if you are using Java 5, and MarkupBuilder just to name a few. In addition to these, there is a dedicated template framework which is well-suited to applications where the text to be generated follows the form of a static template.
    Template framework
    The template framework in Groovy consists of a TemplateEngine abstract base class that engines must implement and a Template interface that the resulting templates they generate must implement.
    Included with Groovy are several template engines:
        SimpleTemplateEngine - for basic templates
        GStringTemplateEngine - stores the template as writable closures (useful for streaming scenarios)
        XmlTemplateEngine - works well when the template and output are valid XML
    SimpleTemplateEngine
    Shown here is the SimpleTemplateEngine that allows you to use JSP-like scriptlets (see example below), script, and EL expressions in your template in order to generate parameterized text. Here is an example of using the system:
    import groovy.text.SimpleTemplateEngine
    def text = 'Dear "$firstname $lastname",\nSo nice to meet you in <% print city %>.\nSee you in ${month},\n${signed}'
    def binding = ["firstname":"Sam", "lastname":"Pullara", "city":"San Francisco", "month":"December", "signed":"Groovy-Dev"]
    def engine = new SimpleTemplateEngine()
    template = engine.createTemplate(text).make(binding)
    def result = 'Dear "Sam Pullara",\nSo nice to meet you in San Francisco.\nSee you in December,\nGroovy-Dev'
    assert result == template.toString()
    While it is generally not deemed good practice to mix processing logic in your template (or view), sometimes very simple logic can be useful. E.g. in the example above, we could change this:
    $firstname
    to this (assuming we have set up a static import for capitalize inside the template):
    ${capitalize(firstname

转载地址:http://mvyal.baihongyu.com/

你可能感兴趣的文章
why you should visit cemeteries
查看>>
JEESZ分布式框架--技术介绍文档
查看>>
Mysql之事务提交和隔离级别
查看>>
Java学习lesson 06
查看>>
最近跟同事学了docker 私有仓库安装,我自己居然没搞出来,现在来做做笔记
查看>>
Linux学习笔记(八)文件和目录权限chmod、更改所有者和所属组chown、umask、隐藏权限...
查看>>
配置设备作为DHCP中继
查看>>
类成员函数的重载、覆盖和隐藏区别?
查看>>
win10家庭版远程桌面函数不受支持
查看>>
mysql主从同步搭建和故障排除
查看>>
配置nginx动静分离
查看>>
Confluence 6 找到未使用的空间
查看>>
隱私權政策
查看>>
第14章 使用DHCP动态管理主机地址
查看>>
如何一周内学会编程?实战项目中总结经验[图]
查看>>
餐饮业实施5S管理的效益及实施方案
查看>>
ie浏览器不支持select option italic
查看>>
如何恢复supporthelpgood勒索病毒how_to_back_files.html成功处理
查看>>
国产ARM核心工控主板介绍
查看>>
中国发展人工智能具有先天优势
查看>>