${…} 作用同JSP
如果不能确定参数是否为null
${client?.name} 表示如果 client 不为 null,则显示名称
#{extends /} #{doLayout /} 继承
继承,a继承了b,则a的页面显示效果为b+a,a出现在dolayout位置
例如:
index.html
#{extends 'main.html'/}
<span>这是内容</span>
main.html
<h1>title</h1>
#{doLayout /}
<p>gg</p>
@{…}动作
例如
<a href="@{Application.index()}">调用Application的index方法</a>
&{…}消息
在conf/message 文件中添加一行 name = 姓名为%s
模板中 &{‘name’, user.name}
页面显示 姓名为xx
*{…}*注释
%{…}%脚本
类似于Jsp中的<% %> 同理不建议使用其处理复杂的逻辑,尽量使用标签
#{tagName /}自定义模板标签
可以在 /app/view/tags 目录下随意创建一个html文件作为标签
例如:
*{这是text.html}*
%{ user.fullname = '带带大师兄'+user.fullname }%
<h1>&{'title', user.fullname}</h1>
#{mytag user:user /}
*{这是mytag.html}*
#{if _user != null}
<span>${_user.email}</span>
<span>${_user.password}</span>
#{/if}
标签在使用传过来的参数时需要加"_"
模板中的内置对象
- error 错误验证
- flash flash作用域
- lang 当前语言
- message 消息域
- out 输出流
- params 参数
- request http请求
- session session域