Revel 拦截器


当前第2页 返回上一页

BEFORE:返回的结果是保证是最终的。

AFTER:它可能是一个进一步的拦截器,可以返回自己的结果。

例如

函数拦截器

下面是定义和注册函数拦截器的一个简单例子。

func checkUser(c *revel.Controller) revel.Result {
    if user := connected(c); user == nil {
        c.Flash.Error("请先登录")
        return c.Redirect(App.Index)
    }
    return nil
}

func init() {
    revel.InterceptFunc(checkUser, revel.BEFORE, &Hotels{})
}

方法拦截器

方法拦截器有两种方式的签名:

func (c AppController) example() revel.Result
func (c *AppController) example() revel.Result

下面是个同样的例子,只能拦截一个控制器。

func (c Hotels) checkUser() revel.Result {
    if user := connected(c); user == nil {
        c.Flash.Error("请先登录")
        return c.Redirect(App.Index)
    }
    return nil
}

func init() {
    revel.InterceptMethod(Hotels.checkUser, revel.BEFORE)
}

标签:Revel

返回前面的内容

相关阅读 >>

Revel 控制器

Revel 部署

Revel 缓存cache

Revel 介绍

Revel 控制器概要

Revel 常见问题

Revel 路由routes

Revel 项目结构

Revel 计划任务

Revel session flash

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




打赏

取消

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

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

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

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

评论

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