技术开发 频道

玩转Java Web应用开发:Play框架

  表4 Play 框架提供的标签

标签说明
a用来生成指向控制器中动作方法的 HTML 链接元素。如 #{a @Application.index()} 首页 #{/a}
ififnotelseifelse用来进行条件判断。
setget用来设置和获取可以在模板中使用的变量。如 #{set email:'alex@example.org'} 设置了变量 email 的值,可以通过 #{get 'email'} 来获取。
script用来生成一个 <script> 元素引用 /public/javascripts 目录下的 JavaScript 文件。如 #{script 'dojo.js'} 引用 /public/javascripts/dojo.js 文件。
stylesheet作用与 script 类似,不同的是使用 <link> 元素来引用 /public/stylesheets 目录下的 CSS 文件。
list用来遍历一个对象集合。如 #{list items:notes, as:'note'} 用来遍历对象集合 notes。循环体中的每个对象用变量 note来引用。在循环体的代码中可以引用一些预定义的变量。这些变量有固定的名称,但是会以循环体中的对象变量名作为前缀。在上面的例子中是 note_。如 note_index 表示当前对象在集合中的序号;note_isFirst 表示是否是集合中的第一个对象;note_isLast 表示是否是集合中的最后一个对象;note_parity 表示当前对象在集合中序号的奇偶值,可能是 evenodd
i18n用来使得支持国际化的消息文件可以用 JavaScript 来访问。在 JavaScript 代码中可以 i18n() 方法来访问。如 i18n('app_title')
errors用来遍历验证错误的集合。使用方式与 list 类似,循环体中使用的对象变量名称是 error
form用来生成 HTML <form> 元素。
verbatim禁用模板中的 HTML 转义功能。
include在当前模板中引入另一个模板。如 #{include 'test.html'}
extendsdoLayoutextends使得当前的模板继承自另外一个模板。doLayout 用来在父模板中调用子模板。

  在模板中可以使用来自不同地方的变量。首先是在模板生成的时候,由控制器中的动作方法通过 renderArgs 对象来添加的。如 renderArgs.put("username", "Alex") 就把一个变量 username 添加到了模板中。其次是一些隐含的变量,如 request 表示当前的 HTTP 请求,session 表示当前的会话,params 表示请求中的参数和 out 表示用来输出响应的 java.io.Writer 对象。最后就是可以通过 #{set} 来设置变量。

0
相关文章