play framework学习笔记之 模板引擎
模板语法
${client.name}
${client?.name} 不能确定client是否存在的时候?
#{extends /}
#{doLayout /}
#{get}
#{set}
比如
#{extends 'simpledesign.html' /}
#{set title:'A decorated page' /}
Tags: #{tagName /}
#{script 'jquery.js' /}
#{list items:client.accounts, as:'account' } 循环
<li>${account}</li>
#{/list}
Actions: @{…} or @@{…}
<a href="@{Clients.showAccounts(client.id)}">All accounts</a>
注意此时Clients.showAccounts(client.id)没有加引号
而
<link rel="stylesheet" media="screen" href="@{'/public/stylesheets/main.css'}">
这些其它的public内的资源 需要 ' /public/stylesheets/main.css ' 内部加引号的,特别注意
@{…}相对路径
@@{…}绝对路径
Messages: &{…}
比如 conf/messages 文件里
clientName=The client name is %s
在模板页面里面使用&{…}
<h1>&{'clientName','myname' }</h1>
得到的结果是 <h1>The client name is myname</h1>
Comment: *{…}* 注释
*{**** Display the user name ****}*
%{…}% 类似过去的JSP页面一样在页面里嵌入逻辑
%{ fullName = client.name.toUpperCase()+' '+client.forname; }%
<h1>Client ${fullName}</h1>
To create a hello tag, just create the app/views/tags/hello.html file.
比如创建一个hello标签,只需要建立页面app/views/tags/hello.html
页面内容 Hello from tag!
No need to configure anything. You can use the tag directly:
不需要配置别的东西,你可以直接使用此标签
如: #{hello /}
给自定义标签加参数
比如你在 hello.html 里面 用到 ${_name} name前面加 _
那么
#{hello name:'Bob' /} 可以这样赋值
当然也有默认的唯一参数的时候 arg
Example:
Hello ${_arg}!
And you can call it easily using:
#{hello 'Bob' /}
调用标签体 Invoke tag body
Hello #{doBody /}!
#{hello}
Bob
#{/hello}
这样通过 #{doBody /} Bob 就作为标签体 传入了 自定义标签
默认的模板页面是在 views/tags 目录下,如果再在其下 建立 文件夹 比如 a
则就有了 命名空间 #{a.xxx /}
http://www.anool.net/?p=58
play framework学习笔记之 模板引擎的更多相关文章
- Python Flask学习笔记之模板
Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...
- Entity Framework 学习笔记(2)
上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// ...
- Entity Framework学习笔记
原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总 之前的小项目做完了,到了总结经验和 ...
- OpenCV 学习笔记(模板匹配)
OpenCV 学习笔记(模板匹配) 模板匹配是在一幅图像中寻找一个特定目标的方法之一.这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否"相似",当相似度足够 ...
- ADO.NET Entity Framework学习笔记(3)ObjectContext
ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转] 说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...
- Apache OFBiz 学习笔记 之 服务引擎 二
加载服务定义文件 ofbiz-component.xml:所有的服务定义文件在每个组件的ofbi-component.xml文件中 加载服务定义 例:framework/common/ofbi ...
- Spring Framework 学习笔记——核心技术之Spring IOC
Spring Framework 官网文档学习笔记--核心技术之Spring IOC 官方文档 spring-framework-5.3.9 1. Spring Framework 核心技术 1.1 ...
- Angular 5.x 学习笔记(1) - 模板语法
Angular 5.x Template Syntax Learn Note Angular 5.x 模板语法学习笔记 标签(空格分隔): Angular Note on github.com 上手 ...
- Entity Framework学习笔记——错误汇总
之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...
随机推荐
- sys.stdout sys.stderr的用法
stdout:标准输出 stderr:标准错误 print 相当于 sys.stdout.write() + 换行 一个将数据流写入文件的程序,文件名为:main.py def main(out=s ...
- Selenium关键字驱动测试框架Demo(Java版)
Selenium关键字驱动测试框架Demo(Java版)http://www.docin.com/p-803493675.html
- List的遍历和删除元素
package test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public c ...
- offsetof的使用
#include <stddef.h> #define offsetof ( TYPE, m) (size_t )&reinterpret_cast< const vol ...
- [Z] 北大一牛人生物转申CS的经历
http://www.bdwm.net/bbs/bbscon.php?board=CIS&file=M.1367038121.A&num=626&attach=0&di ...
- python-redis 入门
redis官网http://redis.io Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis是一 ...
- POJ 1330 Nearest Common Ancestors
Nearest Common Ancestors Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 14698 Accept ...
- netty 编/解码处理
1.LineBasedFrameDecoder 1.先找到结束符索引 private static int findEndOfLine(final ByteBuf buffer) { final in ...
- Android开发环境搭建相关文章列表(转载)
Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1, ...
- Ext.grid.GridPanel属性及方法等
1.Ext.grid.GridPanel主要配置项:store:表格的数据集columns:表格列模式的配置数组,可自动创建ColumnModel列模式autoExpandColumn:自动充满表格未 ...