Play 内置模板标签(1.2.3版本)http://www.anool.net/?p=617
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的更多相关文章
- Django 内置模板标签和过滤器
一.内置模板标签 语法:{% %} autoescape : 是否转义,on或off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束 {% autoescape on % ...
- Django内置模板标签
Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...
- python3之Django内置模板标签和过滤器
一.模板标签 内置标签: 1.autoescape 控制当前的自动转义行为,此标记采用on或者off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束标签关闭. views: ...
- 第三章:模版层 - 2:Django内置模板标签
Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...
- flask_admin 笔记五 内置模板设置
内建模板 Flask-Admin是使用jinja2模板引擎 1)扩展内建的模板 不要完全覆盖内置的模板,最好是扩展它们. 这将使您更容易升级到新的Flask-Admin版本. 在内部,Flask-Ad ...
- VS2019 开发Django(九)------内置模板和过滤器
导航:VS2019开发Django系列 紧接上篇,继续介绍Django中的模板,考虑可能篇幅过长,所以分为两部分来讲,今天的主要内容: 1)内置模板和过滤器 母版,继承关系.头部导航和页脚,是需要与其 ...
- apache shiro内置过滤器 标签 注解
内置过滤器 anon(匿名) org.apache.shiro.web.filter.authc.AnonymousFilter authc(身份验证) org.apache.shiro ...
- Django内置template标签
html过滤{% autoescape on|off %} {{body}} {% endautoescape %} 注释{% comment %} {% endcomment %} csrf攻击 { ...
- vue内置的标签(组件)
component:用于动态组件,查看博文vue学习之组件. <component :is="componentId"></component> trans ...
随机推荐
- “远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行“的完美解决方案
今天调试程序时,Visual Studio突然报出了如下错误: Microsoft Visual Studio 远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行.这可能是因为防火墙阻 ...
- RTImageAssets 自动生成 AppIcon 和 @2x @1x 比例图片
下载地址:https://github.com/rickytan/RTImageAssets 此插件用来生成 @3x 的图片资源对应的 @2x 和 @1x 版本,只要拖拽高清图到 @3x 的位置上,然 ...
- win10如何将此电脑显示在桌面
一.问题的提出 计算机系统彻底只能用win10的时候,习惯我的电脑显示在桌面上,可是系统并不默认这样 二.问题的解决 1.win10系统的桌面是没有“我的电脑”的图标,在桌面上点击右键,选择“个性化” ...
- ubuntu 安装bochs
//首先官网下载bochs源码wget http://bochs.sourceforge.net/svn-snapshot/bochs-20150503.tar.gz//然后解压 tar vxzf b ...
- MDX 占比同比环比
http://blog.csdn.net/hero_hegang/article/details/9072889
- 【原】Oracle11gR2图文安装
作者:david_zhang@sh [转载时请以超链接形式标明文章] http://www.cnblogs.com/david-zhang-index/p/4365475.html 本文以看图说话的方 ...
- MyBatis知多少(7)持久层
持久层是适合使用MyBatis的地方.在面向对象的系统中,持久层主要关注对象(或者更精确地说应该是存储在那些对象中的数据)的存取.在企业应用程序中持久层通常用关系数据库系统来存储数据,虽然某些情况下其 ...
- 使用ECMAscript5中的forEach函数遍历数组
1 var a = [1,2,3]; 2 a.forEach(function(value,index,arr){ 3 arr[index] = value + index; 4 }) 5 conso ...
- Android学习笔记之蓝牙通信...
PS:最近同学问我蓝牙的事,因此自己也就脑补了一下蓝牙... 学习内容: 1.如何实现蓝牙通信技术... 蓝牙通信其实是手机里很常用的一种通信方式,现在的手机中是必然存在蓝牙的,蓝牙通信也是有一部 ...
- BlocksKit初见:一个支持将delegate转换成block的Cocoa库
简介 项目主页: https://github.com/zwaldowski/BlocksKit BlocksKit 是一个开源的框架,对 Cocoa 进行了扩展,将许多需要通过 delegate 调 ...