Beego框架:flash数据

Amiee7 · · 2977 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

本篇文章IT兄弟连GO语言学院小美 给读者们分享一下Beego框架:flash数据 对GO语言感兴趣想要学习Golang开发技术的小伙伴就随小编来了解一下吧。 这个 flash 与 Adobe/Macromedia Flash 没有任何关系。它主要用于在两个逻辑间传递临时数据,flash 中存放的所有数据会在紧接着的下一个逻辑中调用后清除。一般用于传递提示和错误消息。它适合 Post/Redirect/Get 模式。下面看使用的例子: ``` // 显示设置信息 func (c *MainController) Get() { flash:=beego.ReadFromRequest(&c.Controller) if n,ok:=flash.Data["notice"];ok{ // 显示设置成功 c.TplName = "set_success.html" }else if n,ok=flash.Data["error"];ok{ // 显示错误 c.TplName = "set_error.html" }else{ // 不然默认显示设置页面 c.Data["list"]=GetInfo() c.TplName = "setting_list.html" } } // 处理设置信息 func (c *MainController) Post() { flash:=beego.NewFlash() setting:=Settings{} valid := Validation{} c.ParseForm(&setting) if b, err := valid.Valid(setting);err!=nil { flash.Error("Settings invalid!") flash.Store(&c.Controller) c.Redirect("/setting",302) return }else if b!=nil{ flash.Error("validation err!") flash.Store(&c.Controller) c.Redirect("/setting",302) return } saveSetting(setting) flash.Notice("Settings saved!") flash.Store(&c.Controller) c.Redirect("/setting",302) } ``` 上面的代码执行的大概逻辑是这样的: 1. Get 方法执行,因为没有 flash 数据,所以显示设置页面。 2. 用户设置信息之后点击递交,执行 Post,然后初始化一个flash,通过验证,验证出错或者验证不通过设置 flash 的错误,如果通过了就保存设置,然后设置 flash 成功设置的信息。 3. 设置完成后跳转到 Get 请求。 4. Get 请求获取到了 Flash信息,然后执行相应的逻辑,如果出错显示出错的页面,如果成功显示成功的页面。 默认情况下 ReadFromRequest 函数已经实现了读取的数据赋值给 flash,所以在你的模板里面你可以这样读取数据: ``` {{.flash.error}} {{.flash.warning}} {{.flash.notice}} ``` flash 对象有三个级别的设置: - Notice 提示信息 - Warning 警告信息 - Error 错误信息 想要了解更多关于GO语言开发方面内容的小伙伴, 请关注IT兄弟连官网、公众号:GO语言研习社, IT兄弟连教育有专业的微软、谷歌讲师为您指导, 此外IT兄弟连老师精心推出的GO语言教程定能让你快速掌握GO语言从入门到精通开发实战技能。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2977 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传