Play框架内置模板标签

a标签 : 用来插入一个连接到控制器方法的html link。如下: 
Html代码   收藏代码
  1. #{a @Application.logout()}Disconnect#{/a}  

模板内容被解析后变成: 
Html代码   收藏代码
  1. <a href="/application/logout">Disconnect</a>  

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

authenticityToken标签 : 用来生成一个包含token信息的可以放到任何form的隐藏域。 用来防止跨站点的请求伪造攻击 。 
Html代码   收藏代码
  1. #{authenticityToken /}  

模板内容被解析后变成: 
Html代码   收藏代码
  1. <input type="hidden" name="authenticityToken"  
  2.        value="1c6d92fed96200347f06b7c5e1a3a28fa258ef7c">  

cache标签 :把标签内容用play.cache.Cache API来缓存起来。缓存的key根据所使用标签参数生成,如下: 
Html代码   收藏代码
  1. #{cache 'startTime'}  
  2.    ${new java.util.Date()}  
  3. #{/cache}  

当不指定时间参数时,标签内容会被永久缓存。你也可以通过for参数来指定一个到期时间。 
Html代码   收藏代码
  1. #{cache 'currentTime', for:'3s'}  
  2.    ${new java.util.Date()}  
  3. #{/cache}  

doLayout标签 : 在模板继承时被使用。用来插入一个子模板的内容。 
Html代码   收藏代码
  1. <!-- common header here -->  
  2. <div id="content">  
  3.     #{doLayout /}  
  4. </div>  
  5. <!-- common footer here -->  

else标签 : 条件判断标签 
Html代码   收藏代码
  1. #{if user}  
  2.     Connected user is ${user}  
  3. #{/if}  
  4. #{else}  
  5.     Please log in  
  6. #{/else}  

else标签页能配置list标签时候,使得当list为空时,显示特殊信息  
Html代码   收藏代码
  1. #{list items:task, as:'task'}  
  2.     <li>${task}</li>  
  3. #{/list}  
  4.    
  5. #{else}  
  6.     Nothing to do...  
  7. #{/else}  

elseif标签 : 也能喝list配合使用 
Html代码   收藏代码
  1. #{if tasks.size() > 1}  
  2.     Busy tasklist  
  3. #{/if}  
  4.    
  5. #{elseif tasks}  
  6.     One task on the list  
  7. #{/elseif}  
  8.    
  9. #{else}  
  10.     Nothing to do  
  11. #{/else}  


error标签 : 用来输出Validator验证错误的标签。可以再参数中指定被验证的项目。 
Html代码   收藏代码
  1. #{error 'user.name'/}  

你也可以用可选的field参数来使用另外一个项目的错误消息。这在当你要在多个项目之间使用相同的错误消息时非常有用,如下 
Html代码   收藏代码
  1. #{error 'contact.street',  field:'contact.address'/}  
  2. #{error 'contact.city',    field:'contact.address'/}  
  3. #{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

Html代码   收藏代码
  1. <table>  
  2. <tr><th>#</th><th>Error</th></tr>  
  3. #{errors}  
  4.     <tr class="${error_parity}"><td>${error_index}</td><td>${error}</td></tr>  
  5. #{/errors}  
  6. </table>  

也可以使用可选的field 参数,或者默认参数,来过滤显示指定项目的验证错误 
Html代码   收藏代码
  1. <ul>  
  2. #{errors 'myField'}  
  3.     There where errors with the field myField<br />  
  4.     <li>${error}</li>  
  5. #{/errors}  
  6. </ul>  


field标签 : 是一个基于不要老是重复自己精神的帮助器,如下使用。 
使用field字段之前: 
Html代码   收藏代码
  1. <p>  
  2.   <label>&{'user.name'}</label>  
  3.   <input type="text" id="user_name" name="user.name" value="${user?.name}" class="${errors.forKey('user.name') ? 'has_error' : ''}">  
  4.   <span class="error">${errors.forKey('user.name')}</span>  
  5. </p>  

使用field字段以后: 
Html代码   收藏代码
  1. #{field 'user.name'}  
  2. <p>  
  3.   <label>&{field.name}</label>  
  4.   <input type="text" id="${field.id}" name="${field.name}" value="${field.value}" class="${field.errorClass}">  
  5.   <span class="error">${field.error}</span>  
  6. </p>  
  7. #{/}  

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

然后在Javascript中可以如下使用 
Javascript代码   收藏代码
  1. alert(i18n('hello_world'));  
  2. alert(i18n('hello_someone''John'));  

你也可以使用通配符来限制使用某部分信息 
Html代码   收藏代码
  1. #{i18n keys:['title', 'menu.*'] /}  

if标签  
ifError标签 :当指定字段有Validation验证错误时,显示标签内容。 
ifErrors标签  
ifnot标签  
include标签 :包含另外一个模板文件。所有在当前模板中使用的变量都能在子模板中直接使用。 
jsAction标签:  
Javascript代码   收藏代码
  1. <script type="text/javascript">  
  2.     var showUserAction = #{jsAction @Users.show(':id') /}  
  3.       
  4.     var displayUserDetail = function(userId) {  
  5.         $('userDetail').load( showUserAction({id: userId}) )  
  6.     }  
  7. </script>  

list标签  
option标签  
Html代码   收藏代码
  1. #{option user.id} ${user.name} #{/option}  
  2. <option value="42">jto</option>  

script标签  
render标签 : 对指定的模板文件进行渲染操作。参数路径是相对路径,相对于/aap/views 
Html代码   收藏代码
  1. #{render 'Application/other.html'/}  

select标签  
set标签  
stylesheet标签  
verbatim标签 :对标签内容禁用html转移操作。 类似与Java扩张中的raw()方法。如下 
Html代码   收藏代码
  1. ${'&amp;'}  
  2. #{verbatim}${'&amp;'}#{/verbatim}  

第一行输出&amp;,而第二行输出&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值