创新互联Revel教程:Revel模板

Revel 使用 Go 模板, 在下面两个目录中查找模板:

创新互联建站咨询电话:028-86922220,为您提供成都网站建设网页设计及定制高端网站建设服务,创新互联建站网页制作领域10年,包括广告推广等多个方面拥有多年的营销推广经验,选择创新互联建站,为企业保驾护航!

  • 应用程序的 views 目录 (包括所有的子目录)
  • Revel的 templates 目录.

比如有一个控制器 Hello ,方法名为 World, Revel 会查找名字为 views/Hello/World.html的模板。模板名字不区分大小写,所以 views/hello/world.html 与 views/HeLlO/wOrLd.HtMl都是匹配的模板.

Revel 提供了错误页面模板 (在开发模式中友好的显示编译错误), 开发者也可以重写这些模板,比如app/views/errors/500.html.

渲染上下文

Revel 使用 RenderArgs map 渲染模板。除了开发者传送的数据, Revel 也提供一些有用的数据:

  • “errors” - 验证错误(map,请参考文档 Validation.ErrorMap
  • “flash” - 上个请求flash的数据

模板功能

Go 提供了一些 模板函数。Revel 也增加了一些模板函数。请阅读下面的文档 或 查看源代码.

eq

一个简单的 “a == b” 测试.

例如:

set

在当前模板上下文中设置一个变量

例如:

{{set . "title" "Basic Chat room"}}

{{.title}}

append

添加变量到一个数组中, 或者在模板上下文中创建一个数组

例如:

{{append . "moreScripts" "js/jquery-ui-1.7.2.custom.min.js"}}

{{range .moreStyles}}
  
{{end}}

field

input 字段辅助函数.

给出一个字段名, 函数会生成包含下面成员的结构:

  • Id: 字段Id, 转换为一个HTML字段的ID。
  • Name: 字段名称
  • Value: 当前上下文中字段的值
  • Flash: 带回的字段值
  • Error: 字段错误消息(如果有错误)
  • ErrorClass: 原始的字符串 “hasError”, 如果没有错误就是一个 ””.

浏览 godoc.

例如:

{{with $field := field "booking.CheckInDate" .}}
  

Check In Date: * {{$field.Error}}

{{end}}

option

使用辅助函数生成 HTML option 字段。

例如:

{{with $field := field "booking.Beds" .}}

{{end}}

radio

使用辅助函数生成 HTML radio input 字段

例如:

{{with $field := field "booking.Smoking" .}}
  {{radio $field "true"}} Smoking
  {{radio $field "false"}} Non smoking
{{end}}

nl2br

将换行符转换成 HTML 的 break.

例如:

You said:
{{nl2br .commentText}}

pluralize

一个辅助的复数函数

例如:

There are {{.numComments}} comment{{pluralize (len comments) "" "s"}}

raw

输出原生的、未转义的文本

例如:

{{raw .blogBody}}

Including

Go 模板允许你在模板中包含其他模板,比如:

{{template "header.html" .}}

注意: * 相对路径是 app/views

温馨提示

Revel 应用程序有效利用 Go 模板,请看看下面的例子:

  • revel/samples/booking/app/views/header.html
  • revel/samples/booking/app/views/Hotels/Book.html

使用辅助函数,为模板设置标题和额外的样式。

例如:


  
    {{.title}}
    
    
    
    {{range .moreStyles}}
      
    {{end}}
    
    
    {{end}}
  

在模板中这样使用:

{{set . title "Hotels"}}
{{append . "moreStyles" "ui-lightness/jquery-ui-1.7.2.custom.css"}}
{{append . "moreScripts" "js/jquery-ui-1.7.2.custom.min.js"}}
{{template "header.html" .}}

自定义模板函数

应用程序可以注册自定义模板函数

例如:

func init() {
    revel.TemplateFuncs["eq"] = func(a, b interface{}) bool { return a == b }
}

文章名称:创新互联Revel教程:Revel模板
链接URL:http://www.hantingmc.com/qtweb/news4/254004.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联