`
desert3
  • 浏览: 2156069 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Play 内置模板标签(1.2.3版本)

 
阅读更多
Play framework 1.2.3 Built-in template tags

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()方法。如下
${'&amp;'}
#{verbatim}${'&amp;'}#{/verbatim}

第一行输出&amp;,而第二行输出&
分享到:
评论

相关推荐

    playFramework1.2.3

    在标题"playFramework1.2.3"中,我们关注的是Play Framework的1.2.3版本。这个版本是在其早期发展的一个稳定版本,提供了许多开发者友好的功能。 Play Framework的核心优势在于它采用了模型-视图-控制器(MVC)架构...

    Linux命令模板 licote 1.2.3

    Licote是Linux command template的缩写,顾名思义就是Linux命令模板。用于快速编写一个linux环境的命令程序,当然如果你愿意,你可以用于任何程序中;Licote的主要任务就是帮助你解析linux环境下的常用命令选项,让...

    SteamVR1.2.3

    支持VRTK最新版本的SteamVR1.2.3版本,支持VRTK最新版本的SteamVR1.2.3版本,支持VRTK最新版本的SteamVR1.2.3版本,

    Rails-1.2.3版本的API

    Rails-1.2.3版本的API 博文链接:https://buaalijie.iteye.com/blog/143586

    nginx-1.2.3.tar.gz

    2. **性能优化**:与之前的版本相比,1.2.3 版本可能包含了一些性能上的改进,如更快的响应速度、更高效的内存管理等。 3. **安全更新**:官方稳定版通常会修复已知的安全漏洞,确保用户在使用过程中的安全性。 4....

    Mootools1.2.3各版本下载

    1.2.3是MooTools的一个稳定版本,它提供了丰富的功能集,同时保持了高性能和良好的浏览器兼容性。在本文中,我们将深入探讨MooTools 1.2.3的主要特性和变化,以及如何下载和使用这个版本。 1. **MooTools的核心特性...

    推聊V1.2.3版本

    基于百度云推送已更新到V1.2.3. Change Log: 1.增加手势返回。可以手势拖动Activity实现返回,是本次最大的更新,仿ios7.0效果。 2.使用全新的应用Logo,不再使用百度云推送的Logo。 3.使用全新的Splash界面,不再...

    Unity VR开发,SteamVR1.2.3版本插件

    SteamVR 1.2.3版本插件是专门为Unity设计的一个扩展工具,用于增强Unity与SteamVR之间的兼容性和功能。 首先,Unity是一款强大的跨平台游戏引擎,广泛应用于游戏开发、教育、建筑可视化、模拟训练等多个领域。它...

    SteamVR 1.2.3(unity2019或更低版本)

    SteamVR 1.2.3 版本确保了与Unity 2019及更低版本的兼容性,这意味着开发者可以用旧版Unity来创建VR内容,而不用担心版本不匹配的问题。这对于那些已经习惯了旧版Unity工作流程或者尚未升级到最新Unity版本的团队来...

    SteamVR1.2.3.zip

    SteamVR 1.2.3版本的发布,标志着这一平台在功能和兼容性上的又一次重大更新,尤其是对于VRTK(Virtual Reality Toolkit)的支持,使得开发者能够更加便捷地构建互动性强、沉浸感十足的VR应用。 1. **SteamVR系统...

    Tars深度融合K8S的开源项目1.2.3版本代码包K8SFramework-master_v1.2.3.zip

    《Tars深度整合K8S:K8SFramework开源项目1.2.3版本解析》 在当前的云原生环境中,Kubernetes(K8S)已成为容器编排的事实标准,而Tars作为一款高性能、分布式服务框架,也在业界得到了广泛应用。当我们谈论“Tars...

    曼格短视频1.2.3版本

    1.新增用户推广裂变功能,让用户来帮您完成免费裂变,继红包裂变后又一裂变功 2.自动同步官方数据,真正的让你解放双手,随着官方数据更新而更新,后台操作一次,直接躺赚!! 3.添加前端搜索框,让你做垂直领域不...

    (Unity源码) RTS游戏引擎模板 Engine 1.2.3.rar

    Unity插件源码,资源完整,真实可用Unity插件源码,资源完整,真实可用Unity插件源码,资源完整,真实可用Unity插件源码,资源完整,真实可用Unity插件源码,资源完整,真实可用Unity插件源码,资源完整,真实可用...

    Jquery_easyUI.1.2.3.chm帮助文档

    Jquery_easyUI.1.2.3.chm帮助文档 Jquery_easyUI.1.2.3.chm帮助文档 Jquery_easyUI.1.2.3.chm帮助文档

    JayDeBeApi-1.2.3

    这个库的版本1.2.3提供了Python程序员使用ODBC(Open Database Connectivity)驱动程序访问Informix数据库的能力。ODBC是一种标准的API,允许应用程序与各种数据库系统进行通信,而无需关心底层数据库的具体实现。 ...

    SteamVR插件 1.1.1 1.2.2 1.2.3 三个版本的插件

    这个压缩包包含了1.1.1、1.2.2和1.2.3三个版本的SteamVR Unity插件,这些版本在当时是为支持不同阶段的SteamVR平台而设计的。然而,需要注意的是,根据描述,这些版本可能不适用于最新的SteamVR 2.02更新,这意味着...

    杀手小游戏1.2.3版本

    杀手小游戏文件版本,c++系统,建议Dev-C++编译和Windows系统。如果有疑问可以查看博客版,谢谢您的下载。

    Django-1.2.3

    1.2.3版本可能已经对模板引擎的性能进行了优化,使其在处理大量数据时更加高效。 4. **表单处理**:Django的表单系统能够自动生成HTML表单并处理用户提交的数据。1.2.3版本可能会包含对表单验证和错误处理的增强。 ...

Global site tag (gtag.js) - Google Analytics