您的位置:首页 > 其它

Play框架内置模板标签

2016-04-20 11:55 393 查看
a标签: 用来插入一个连接到控制器方法的html link。如下: 

Html代码  


#{a @Application.logout()}Disconnect#{/a}  

模板内容被解析后变成: 

Html代码  


<a href="/application/logout">Disconnect</a>  

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

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

Html代码  


#{authenticityToken /}  

模板内容被解析后变成: 

Html代码  


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

       value="1c6d92fed96200347f06b7c5e1a3a28fa258ef7c">  

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

Html代码  


#{cache 'startTime'}  

   ${new java.util.Date()}  

#{/cache}  

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

Html代码  


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

   ${new java.util.Date()}  

#{/cache}  

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

Html代码  


<!-- common header here -->  

<div id="content">  

    #{doLayout /}  

</div>  

<!-- common footer here -->  

else标签: 条件判断标签 

Html代码  


#{if user}  

    Connected user is ${user}  

#{/if}  

#{else}  

    Please log in  

#{/else}  

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

Html代码  


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

    <li>${task}</li>  

#{/list}  

   

#{else}  

    Nothing to do...  

#{/else}  

elseif标签: 也能喝list配合使用 

Html代码  


#{if tasks.size() > 1}  

    Busy tasklist  

#{/if}  

   

#{elseif tasks}  

    One task on the list  

#{/elseif}  

   

#{else}  

    Nothing to do  

#{/else}  

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

Html代码  


#{error 'user.name'/}  

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

Html代码  


#{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

Html代码  


<table>  

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

#{errors}  

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

#{/errors}  

</table>  

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

Html代码  


<ul>  

#{errors 'myField'}  

    There where errors with the field myField<br />  

    <li>${error}</li>  

#{/errors}  

</ul>  

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

Html代码  


<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字段以后: 

Html代码  


#{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中使用国际化消息的标签,如下使用 
首先在要使用国际化消息的模板或者页面中增加 

Html代码  


#{i18n /}  

然后在Javascript中可以如下使用 

Javascript代码  


alert(i18n('hello_world'));  

alert(i18n('hello_someone', 'John'));  

你也可以使用通配符来限制使用某部分信息 

Html代码  


#{i18n keys:['title', 'menu.*'] /}  

if标签 
ifError标签:当指定字段有Validation验证错误时,显示标签内容。 
ifErrors标签 
ifnot标签 
include标签:包含另外一个模板文件。所有在当前模板中使用的变量都能在子模板中直接使用。 
jsAction标签: 

Javascript代码  


<script type="text/javascript">  

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

      

    var displayUserDetail = function(userId) {  

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

    }  

</script>  

list标签 
option标签 

Html代码  


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

<option value="42">jto</option>  

script标签 
render标签: 对指定的模板文件进行渲染操作。参数路径是相对路径,相对于/aap/views 

Html代码  


#{render 'Application/other.html'/}  

select标签 
set标签 
stylesheet标签 
verbatim标签:对标签内容禁用html转移操作。 类似与Java扩张中的raw()方法。如下 

Html代码  


${'&'}  

#{verbatim}${'&'}#{/verbatim}  

第一行输出&,而第二行输出&
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: