Play Framework template engine模板引擎&模板隐含变量
Play有一个高效的用来动态生成HTML, XML, JSON, 任何文本格式文档的模板系统。模板引擎使用Groovy(一种JVM平台上的动态语言)作为表达式语言。包含一个可以用来创建可重用函数的标签系统。
模板保存在app/views目录下。
模板语法:
模板文件是一个包含用来动态生成内容的占位符的文本文件。模板中的动态元素是使用Groovy语言编写的。Groovy的语法和Java很类似。
动态元素在模板执行阶段被处理。渲染后的结果被作为http响应的一部分而输出到客户端。
表达式:${…},声明其是一个动态的表达式。表达式的执行结果会被插入到${…} 占位符所在的位置中。
标签:#{tagName /},标签式一个模板片段,被使用是通常需要传入一些参数。如果标签只有一个参数,那么根据约定,叫它为“arg”同时, 同时参数名可以省略。
例子:
我们使用用script 标签来加载javascript文件。标签必须被关闭,要嘛直接关闭,要嘛用关闭标签关闭,如下。
#{script 'jquery.js' /}
#{script 'jquery.js'}#{/script}
如果含有多个参数的标签名,参数名不能省略,如下的list标签。
package ext; import play.templates.JavaExtensions; public class CurrencyExtensions extends JavaExtensions { public static String ccyAmount(Number number, String currencySymbol) { String format = "'"+currencySymbol + "'#####.##"; return new DecimalFormat(format).format(number); } }