模板语法

${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学习笔记之 模板引擎的更多相关文章

  1. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  2. Entity Framework 学习笔记(2)

    上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// ...

  3. Entity Framework学习笔记

    原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总   之前的小项目做完了,到了总结经验和 ...

  4. OpenCV 学习笔记(模板匹配)

    OpenCV 学习笔记(模板匹配) 模板匹配是在一幅图像中寻找一个特定目标的方法之一.这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否"相似",当相似度足够 ...

  5. ADO.NET Entity Framework学习笔记(3)ObjectContext

    ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]   说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...

  6. Apache OFBiz 学习笔记 之 服务引擎 二

    加载服务定义文件   ofbiz-component.xml:所有的服务定义文件在每个组件的ofbi-component.xml文件中   加载服务定义 例:framework/common/ofbi ...

  7. Spring Framework 学习笔记——核心技术之Spring IOC

    Spring Framework 官网文档学习笔记--核心技术之Spring IOC 官方文档 spring-framework-5.3.9 1. Spring Framework 核心技术 1.1 ...

  8. Angular 5.x 学习笔记(1) - 模板语法

    Angular 5.x Template Syntax Learn Note Angular 5.x 模板语法学习笔记 标签(空格分隔): Angular Note on github.com 上手 ...

  9. Entity Framework学习笔记——错误汇总

    之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...

随机推荐

  1. bit操作 转

    http://www.catonmat.net/blog/low-level-bit-hacks-you-absolutely-must-know/ Bit Hack #6. Turn off the ...

  2. JS实现TITLE悬停长久显示效果

    canrun <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ...

  3. C2C,B2C,F2C三种电商运营模式的比较

      第三方模式(C2C) 销售商模式(B2C) 生产商模式(F2C) 概念及简介 第三方平台提供商模式是电子商务的最原始也是最自然的形式.这种模式一般都是由信息技术开发商负责建立平台,利用平台扩展电子 ...

  4. make no mistake, we are the last line of defense.

    make no mistake, we are the last line of defense.

  5. struts2 using kindeditor upload pictures (including jmagic compressed images)

    Project uses a kindeditor3.4 UploadContentImgAction @SuppressWarnings("serial") @ParentPac ...

  6. nginx rewrite重写与防盗链配置

    nginx rewrite重写规则与防盗链配置方法 时间:2016-02-04 15:16:58来源:网络 导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标 ...

  7. Unity 动画

    Unity 并没有自带建模工具. 3D建模工具 maya, 3dmax, blender Skinned Mesh Renderer Mesh Renderer Mesh Filter Modelli ...

  8. C# 理解泛型

    出处:http://www.tracefact.net/CSharp-Programming/Generics-In-CSharp.aspx 术语表 generics:泛型type-safe:类型安全 ...

  9. 菜鸟学Windows Phone 8开发(2)——了解XAML

    本系列文章来源MSDN的 面向完全新手的 Windows Phone 8 开发 主要是想通过翻译本系列文章来巩固下基础知识顺带学习下英语和练习下自己的毅力 本文地址:http://channel9.m ...

  10. kubernetes学习笔记

    docker实现了更便捷的单机容器虚拟化的管理, docker的位置处于操作系统层与应用层之间; 相对传统虚拟化(KVM,XEN): docker可以更加灵活的去实现一些应用层功能, 同时对资源的利用 ...