Play 有一套高效的模版系统,它可以由有格式的文本来动态的生成Html,Xml,JSON或者其他文本。它的Template Engine使用Groovy作为表达式语言。
以下举几个例子:
1.Expressions : ${…}
<h1>Client ${client.name}</h1>
2.Tags : #{tagName /}
#{script 'jquery.js' /}
也可以写成:
#{script 'jquery.js'}#{/script}
迭代标签:
<h1>Client ${client.name}</h1>
<ul>
#{list items:client.accounts, as:'account' }
<li>${account}</li>
#{/list}
</ul>
3.Actions : @{…} or @@{…}
使用Router 来把URL转换成相当应的route,@{…} 这个标签就可以完成
这个功能。
<h1>Client ${client.name}</h1>
<p>
<a href="@{Clients.showAccounts(client.id)}">All accounts</a>
</p>
<hr />
<a href="@{Clients.index()}">Back</a>
@@{…}用法一样而且可以生成绝对路径(尤其是有用的Emial)
4.Messages : &{…}
国际化标签, 在conf下建message文件.
写下:clientName=The client name is %s
使用:<h1>&{'clientName', client.name}</h1>
5.Comment : *{…}*
注释标签: *{**** Display the user name ****}*
6.Scripts : %{…}%
脚本标签: 脚本是一个更为复杂的表达式,可以用来定义一些变量和语句。
%{
fullName = client.name.toUpperCase()+' '+client.forname;
}%
<h1>Client ${fullName}</h1>
脚本可以直接使用out对象写动态的内容:
%{
fullName = client.name.toUpperCase()+' '+client.forname;
out.print('<h1>'+fullName+'</h1>');
}%
你也可以在你的模版里使用脚本创建譬如iteration的结构:
<h1>Client ${client.name}</h1>
<ul>
%{
for(account in client.accounts) {
}%
<li>${account}</li>
%{
}
}%
</ul>
分享到:
相关推荐
MVC应用程序模型 - 7 - app/controllers - 8 - app/models - 8 - app/views - 8 - 请求生命周期 - 8 - 标准应用程序布局layout - 9 - ...Google App Engine (GAE) - 152 - Heroku - 152 - playapps.net - 153 -
Build hybrid apps using the Razor Template Engine and create Razor Models that communicate with a SQLite database Use location based features within your app to display the user's current location ...
Build hybrid apps using the Razor Template Engine and create Razor Models that communicate with a SQLite database Use location based features within your app to display the user's current location ...
Twirl在Play项目中自动可用,也可以在不依赖于Play的情况下独立使用。 有关模板语法的更多信息,请参见的Play。 sbt旋转 旋转也可以在Play之外使用。 提供了一个sbt插件,以便与Scala或Java项目轻松集成。 sbt-...
- Spring MVC:在Spring MVC中,可以通过ViewResolver和TemplateEngine配置,将Java对象的数据传递给模板引擎,生成包含动态样式的HTML,从而间接控制CSS。 - Play Framework:Play框架支持Scala和Java,它有自己...
7. **模板引擎(Template Engine)**:用于动态生成HTML页面,将模型数据和页面布局结合。 8. **国际化(Internationalization, i18n)**:支持多语言的应用场景。 9. **安全性(Security)**:包括防止SQL注入、...
赫佩克 ... 请参阅以下帖子以获得动力: ... 由Hepek SSG和Hepek Play使用。 开发人员的静态网站生成器。 只需单击几下,即可创建自己的网站并使用Netlify对其进行部署(是免费的): 日本清酒的 玩框架集成。
58. **searchengine_stats.php**:搜索引擎统计页面,统计来自搜索引擎的流量。 59. **search_log.php**:搜索日志页面,记录用户搜索行为。 60. **shipping.php**:配送方式管理页面,管理和发布配送方式。 61. **...
- **searchengine_stats.php**:搜索引擎统计页面。 - **search_log.php**:搜索日志页面,记录用户的搜索行为。 - **shipping.php**:配送方式管理页面。 - **shipping_area.php**:配送区域管理页面。 - **...
53. **searchengine_stats.php** - 搜索引擎关键字统计,优化SEO策略。 54. **search_log.php** - 搜索记录,分析用户搜索习惯。 55. **shipping.php** - 配送方式管理,设置配送选项。 56. **shipping_area.php** -...
Docker Engine(Deamon,REST API,CLI) Docker Registry和Docker Hub Docker命令结构 Docker容器 Docker卷/绑定挂载 Docker网络 Docker日志 Docker统计/内存CPU限制 Docker文件 Docker镜像 Docker
1. **模板语法**:Thera支持丰富的模板语法,如条件语句(if/else)、循环结构(for)、变量赋值、函数调用等,这些语法元素使得模板能够根据不同的数据动态生成HTML页面。 2. **嵌入式表达式**:在模板中,可以...
23. **Play**: 播放,启动媒体文件或程序的过程。 24. **View**: 视图,展示数据或界面的一种方式。 25. **Cartoon**: 动画,通过连续的画面变化来表现运动的艺术形式。 26. **Template**: 模板,预设的设计或格式...