如何最好地实现Grails中的短代码

时间:2016-08-23 05:13:52

标签: grails

如何在Grails中最好地实现类似短代码(这就是在Wordpress中调用的东西)。

我有一个Grails应用程序,用户可以在其中输入文本。此文本保存在数据库中。文本应包含类似"短代码":

的内容
class Page(){

String text = "please display [form A] above here."

}

在我的视图中,我显示了我的域对象的值文本。

${domainObject.text}

例如:" [表格A]"应该在文本中放置一个引用的表单A.

我在Grails中做到这一点的最佳方法是什么。

1 个答案:

答案 0 :(得分:0)

最佳方法是使用SimpleTemplateEngine。使用此方法,您可以使用标准${}块来指定变量。

使用如下方法:

String renderTemplate(Reader template, Map bindings) {
        try {
            def engine = new groovy.text.SimpleTemplateEngine()
            return engine.createTemplate(template).make(bindings)
        } catch (MissingPropertyException mpe) {
            log.error("Missing property in template binding", mpe)
        }
        return ""
    }

示例:

String text = "please display ${formA} above here."

String parsedText = renderTemplate(new StringReader(text),[formA:'http://www.yourlink.com'])

希望它有所帮助!!