Revel Results


当前第2页 返回上一页

注意: Revel 通过调用的控制器方法名来确定使用哪个模板,查找参数名。因此, c.Render() 只可称为由操作。

RenderJson / RenderXml

应用程序可以调用 RenderJson 或 RenderXml 并传送任意类型的变量 (通常是一个 struct). Revel 会使用 json.Marshal orxml.Marshal对变量进行序列化操作.

如果 app.conf 配置文件中 results.pretty=true, 将使用 MarshalIndent 进行序列化, 生成漂亮的缩进,方便使用。

重定向

一个辅助函数是用于生成重定向。它有两种方式使用:

  1. 重定向到一个控制器方法(不带参数):
    return c.Redirect(Hotels.Settings)

这种形式是非常有用的,因为它提供了一定程度的路由类型安全性和独立性(自动生成URL)。

  1. 重定向到一个格式化字符串:
    return c.Redirect("/hotels/%d/settings", hotelId)

通常用来传送参数.

它返回 302 (临时重定向) 状态码.

添加你自己的 Result

下面是一个添加简单结果的例子。

创建此类型:

type Html string

func (r Html) Apply(req *Request, resp *Response) {
    resp.WriteHeader(http.StatusOK, "text/html")
    resp.Out.Write([]byte(r))
}

在一个控制器方法中使用它:

func (c *App) Action() revel.Result {
    return Html("<html><body>Hello World</body></html>")
}

状态码

每一个Result 都会设置一个默认的状态码,你也可以重新设置默认的状态代码:

func (c *App) CreateEntity() revel.Result {
    c.Response.Status = 201
    return c.Render()
}

标签:Revel

返回前面的内容

相关阅读 >>

Revel 项目结构

Revel 过滤器

Revel results

Revel 消息处理

Revel 模块概要

Revel 缓存cache

Revel 日志类型

Revel 计划任务

Revel 介绍

Revel 配置文件app.conf

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




打赏

取消

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

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

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

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

评论

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