国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

beego的Flash數(shù)據(jù)

2023-11-20 18:06 更新

這個(gè) flash 與 Adobe/Macromedia Flash 沒(méi)有任何關(guān)系。它主要用于在兩個(gè)邏輯間傳遞臨時(shí)數(shù)據(jù),flash 中存放的所有數(shù)據(jù)會(huì)在緊接著的下一個(gè)邏輯中調(diào)用后清除。一般用于傳遞提示和錯(cuò)誤消息。它適合 Post/Redirect/Get 模式。下面看使用的例子:

// 顯示設(shè)置信息
func (c *MainController) Get() {
    flash:=beego.ReadFromRequest(&c.Controller)
    if n,ok:=flash.Data["notice"];ok{
        // 顯示設(shè)置成功
        c.TplName = "set_success.html"
    }else if n,ok=flash.Data["error"];ok{
        // 顯示錯(cuò)誤
        c.TplName = "set_error.html"
    }else{
        // 不然默認(rèn)顯示設(shè)置頁(yè)面
        c.Data["list"]=GetInfo()
        c.TplName = "setting_list.html"
    }
}

// 處理設(shè)置信息
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)
}

上面的代碼執(zhí)行的大概邏輯是這樣的:

  1. Get 方法執(zhí)行,因?yàn)闆](méi)有 flash 數(shù)據(jù),所以顯示設(shè)置頁(yè)面。
  2. 用戶設(shè)置信息之后點(diǎn)擊遞交,執(zhí)行 Post,然后初始化一個(gè) flash,通過(guò)驗(yàn)證,驗(yàn)證出錯(cuò)或者驗(yàn)證不通過(guò)設(shè)置 flash 的錯(cuò)誤,如果通過(guò)了就保存設(shè)置,然后設(shè)置 flash 成功設(shè)置的信息。
  3. 設(shè)置完成后跳轉(zhuǎn)到 Get 請(qǐng)求。
  4. Get 請(qǐng)求獲取到了 Flash 信息,然后執(zhí)行相應(yīng)的邏輯,如果出錯(cuò)顯示出錯(cuò)的頁(yè)面,如果成功顯示成功的頁(yè)面。

默認(rèn)情況下 ReadFromRequest 函數(shù)已經(jīng)實(shí)現(xiàn)了讀取的數(shù)據(jù)賦值給 flash,所以在你的模板里面你可以這樣讀取數(shù)據(jù):

{{.flash.error}}
{{.flash.warning}}
{{.flash.notice}}

flash 對(duì)象有三個(gè)級(jí)別的設(shè)置:

  • Notice 提示信息
  • Warning 警告信息
  • Error 錯(cuò)誤信息
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)