a标签: 用来插入一个连接到控制器方法的html link。如下:

#{a @Application.logout()}Disconnect#{/a}
模板内容被解析后变成:

<a href="/application/logout">Disconnect</a>
如果要调用的控制器方法没有任何可以以GET方法调用的路由信息,那么Play框架会自动地生成一个隐藏的form,用户点击link后,这个form被被提交到后台。

authenticityToken标签: 用来生成一个包含token信息的可以放到任何form的隐藏域。用来防止跨站点的请求伪造攻击。

#{authenticityToken /}
模板内容被解析后变成:

<input type="hidden" name="authenticityToken"

value="1c6d92fed96200347f06b7c5e1a3a28fa258ef7c">
cache标签:把标签内容用play.cache.Cache API来缓存起来。缓存的key根据所使用标签参数生成,如下:

#{cache 'startTime'}

${new java.util.Date()}

#{/cache}
当不指定时间参数时,标签内容会被永久缓存。你也可以通过for参数来指定一个到期时间。

#{cache 'currentTime', for:'3s'}

${new java.util.Date()}

#{/cache}
doLayout标签: 在模板继承时被使用。用来插入一个子模板的内容。

<!-- common header here -->

<div id="content">

#{doLayout /}

</div>

<!-- common footer here -->
else标签: 条件判断标签

#{if user}

Connected user is ${user}

#{/if}

#{else}

Please log in

#{/else}
else标签页能配置list标签时候,使得当list为空时,显示特殊信息

#{list items:task, as:'task'}

<li>${task}</li>

#{/list}

#{else}

Nothing to do...

#{/else}
elseif标签: 也能喝list配合使用

#{if tasks.size() > 1}

Busy tasklist

#{/if}

#{elseif tasks}

One task on the list

#{/elseif}

#{else}

Nothing to do

#{/else}

error标签: 用来输出Validator验证错误的标签。可以再参数中指定被验证的项目。

#{error 'user.name'/}
你也可以用可选的field参数来使用另外一个项目的错误消息。这在当你要在多个项目之间使用相同的错误消息时非常有用,如下

#{error 'contact.street',  field:'contact.address'/}

#{error 'contact.city',    field:'contact.address'/}

#{error 'contact.country', field:'contact.address'/}

errorClass标签:当通过标签参数指定的field有验证错误时,输出这个errorClass,这在验证错误时要设置一个特殊的CSS class时非常有用。
<input name="name" class="#{errorClass 'name'/}">
等价于
<input name="name" class="${errors.forKey('name') ? 'hasError' : ''}">

errors标签: 包含所有Validator验证错误的标签。可以如下遍历:
<ul>
#{errors}
<li>${error}</li>
#{/errors}
</ul>
在标签内部可以使用如下的隐含参数:

  • error, the error
  • error_index, the error’s index, starting at 1
  • error_isLast, true for the last element
  • error_isFirst, true for the first element
  • error_parity, alternates between odd and even

<table>

<tr><th>#</th><th>Error</th></tr>

#{errors}

<tr class="${error_parity}"><td>${error_index}</td><td>${error}</td></tr>

#{/errors}

</table>

也可以使用可选的field 参数,或者默认参数,来过滤显示指定项目的验证错误

<ul>

#{errors 'myField'}

There where errors with the field myField<br />

<li>${error}</li>

#{/errors}

</ul>

field标签: 是一个基于不要老是重复自己精神的帮助器,如下使用。
使用field字段之前:

<p>

<label>&{'user.name'}</label>

<input type="text" id="user_name" name="user.name" value="${user?.name}" class="${errors.forKey('user.name') ? 'has_error' : ''}">

<span class="error">${errors.forKey('user.name')}</span>

</p>
使用field字段以后:

#{field 'user.name'}

<p>

<label>&{field.name}</label>

<input type="text" id="${field.id}" name="${field.name}" value="${field.value}" class="${field.errorClass}">

<span class="error">${field.error}</span>

</p>

#{/}
form标签
get标签
i18n标签:为了在Javascript中使用国际化消息的标签,如下使用
首先在要使用国际化消息的模板或者页面中增加

#{i18n /}
然后在Javascript中可以如下使用

alert(i18n('hello_world'));

alert(i18n('hello_someone', 'John'));
你也可以使用通配符来限制使用某部分信息

#{i18n keys:['title', 'menu.*'] /}
if标签
ifError标签:当指定字段有Validation验证错误时,显示标签内容。
ifErrors标签
ifnot标签
include标签:包含另外一个模板文件。所有在当前模板中使用的变量都能在子模板中直接使用。
jsAction标签:

<script type="text/javascript">

var showUserAction = #{jsAction @Users.show(':id') /}

var displayUserDetail = function(userId) {

$('userDetail').load( showUserAction({id: userId}) )

}

</script>
list标签
option标签

#{option user.id} ${user.name} #{/option}

<option value="42">jto</option>
script标签
render标签: 对指定的模板文件进行渲染操作。参数路径是相对路径,相对于/aap/views

#{render 'Application/other.html'/}
select标签
set标签
stylesheet标签
verbatim标签:对标签内容禁用html转移操作。 类似与Java扩张中的raw()方法。如下

${'&'}

#{verbatim}${'&'}#{/verbatim}
第一行输出&,而第二行输出&

Play 内置模板标签(1.2.3版本)http://www.anool.net/?p=617的更多相关文章

  1. Django 内置模板标签和过滤器

    一.内置模板标签 语法:{%  %} autoescape : 是否转义,on或off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束 {% autoescape on % ...

  2. Django内置模板标签

    Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...

  3. python3之Django内置模板标签和过滤器

    一.模板标签 内置标签: 1.autoescape 控制当前的自动转义行为,此标记采用on或者off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束标签关闭. views: ...

  4. 第三章:模版层 - 2:Django内置模板标签

    Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...

  5. flask_admin 笔记五 内置模板设置

    内建模板 Flask-Admin是使用jinja2模板引擎 1)扩展内建的模板 不要完全覆盖内置的模板,最好是扩展它们. 这将使您更容易升级到新的Flask-Admin版本. 在内部,Flask-Ad ...

  6. VS2019 开发Django(九)------内置模板和过滤器

    导航:VS2019开发Django系列 紧接上篇,继续介绍Django中的模板,考虑可能篇幅过长,所以分为两部分来讲,今天的主要内容: 1)内置模板和过滤器 母版,继承关系.头部导航和页脚,是需要与其 ...

  7. apache shiro内置过滤器 标签 注解

    内置过滤器 anon(匿名)  org.apache.shiro.web.filter.authc.AnonymousFilter authc(身份验证)       org.apache.shiro ...

  8. Django内置template标签

    html过滤{% autoescape on|off %} {{body}} {% endautoescape %} 注释{% comment %} {% endcomment %} csrf攻击 { ...

  9. vue内置的标签(组件)

    component:用于动态组件,查看博文vue学习之组件. <component :is="componentId"></component> trans ...

随机推荐

  1. cocos2dx 帧动画的两种创建方式

    看了好几天cocos2dx的帧动画,现在才有点眉目,为了高效期间我们一般会用到 精灵帧缓存(CCSpriteFrameCache) 和动画缓存(CCAnimationCache) .大体的操作步骤: ...

  2. c++ 职责链模式(Chain of Responsibility)

    职 责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处 理它为止.其思想很简单,考虑员工要求加薪.公司的管 ...

  3. 2dtoolkit获取sprite像素大小的方法

    获取sprite像素的方法 Vector2 GetPixelSize(tk2dSpriteDefinition def){ ].x; ].y; // Calculate dimensions in p ...

  4. mac x Yosemide(10.10) 下安装 jdk 1.7 (jdk 1.8)的方法

    当我们想在mac x yosemide 系统中更新jdk到1.7(1.8)的时候,会弹出下面的错误提示 解决这个问题的办法如下: 1.下载 好jdk 1.7(1.8) 地址:http://www.or ...

  5. CCF推荐国际学术期刊

    中国计算机学会推荐国际学术期刊 (计算机系统与高性能计算) 一.A类 序号 刊物简称 刊物全称 出版社 网址 1 TOCS ACM Transactions on Computer Systems A ...

  6. Turtle Online:致力于打造超接地气的PC前端架构,组件+API,快速搭建前端开发

    架构创作初衷 每当新开一个项目时,都会绞尽脑汁去考虑采用哪种框架:requirejs/seajs.jquery/zepto.backbone.easeUI/Bootstrap/AngularJS……, ...

  7. iOS-金额小写转大写

    一.目的 1. 金额小写转化成大写. 如 123456.65 --> 壹拾贰万叁仟肆佰伍拾陆元陆角伍分 2. 只能处理13位数的金额,并且只能处理到小数点后两位. 二.代码 #import &q ...

  8. Webstrom (或Phpstrom)使用git(oschina-码云)

      .登录"码云"(题外话,这名字起得真好),创建一个新项目   .自动进入了新项目主页,复制该git 仓库的https地址,第4步会用到   .打开Webstrom,选择chec ...

  9. vuejs入门小demo-搜索大全

    这个demo非常适合入门的同学,不再是简单的todolist.用到的知识点有组件通信,过渡效果,vue-rsource,还有一些基本的vue指令. 先放一张截图: 是不是感觉高端大气上档次呢,演示地址 ...

  10. 基于HTML5技术的电力3D监控应用(三)

    继(一)和(二)之后不少,不少网友问我移动终端的使用问题,因为我们项目这次采用Android平板终端,所以我对这方面有点肤浅的研究,这篇分享些项目经验总结,希望对大家有所帮助. 电力3D项目去年底刚立 ...