Revel 模板


本文整理自网络,侵删。

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

  • 应用程序的 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” 测试.

例如:

<div class="message {{if eq .User "you"}}you{{end}}">

set

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

例如:

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

<h1>{{.title}}</h1>

append

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

例如:

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

{{range .moreStyles}}
  <link rel="stylesheet" type="text/css" href="/public/{{.}}">
{{end}}

field

input 字段辅助函数.

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

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

浏览 godoc.

例如:

{{with $field := field "booking.CheckInDate" .}}
  <p class="{{$field.ErrorClass}}">
    <strong>Check In Date:</strong>
    <input type="text" size="10" name="{{$field.Name}}" class="datepicker" value="{{$field.Flash}}">
    * <span class="error">{{$field.Error}}</span>
  </p>
{{end}}

option

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

例如:

{{with $field := field "booking.Beds" .}}
<select name="{{$field.Name}}">
  {{option $field "1" "One king-size bed"}}
  {{option $field "2" "Two double beds"}}
  {{option $field "3" "Three beds"}}
</select>
{{end}}

radio

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

阅读剩余部分

相关阅读 >>

Revel 测试

Revel 消息处理

Revel 控制器概要

Revel results

Revel 概念

Revel 命令行工具

Revel 缓存cache

Revel 参数验证

Revel 常见问题

Revel 模块概要

更多相关阅读请进入《Revel》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...