- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我已经创建了一个带有默认骨架的 Revel Web 应用程序。
我创建了一个新的路由/ Action / View :
Controller Action :
func (c Ctrl1) Action3() revel.Result {
variable1 := "test1"
variable2 := "test2"
c.Flash.Error("Message")
return c.Render(variable1,variable2)
}
Action3.html:
{{set . "title" "Test"}}
{{template "header.html" .}}
{{template "flash.html" .}}
Hello: {{.variable1}}
{{template "footer.html" .}}
我第一次运行我的网络应用程序时,我看到了闪现消息。但是下次,如果我刷新页面,它就会消失!
我已经重新开始了 revel
谢谢
最佳答案
我不熟悉 revel
,但是消息“flashing”通常在您需要一些用户通信以通过重定向传递时使用。 godoc似乎也完全针对该用例描述了它。
如果您直接在此请求处理程序中呈现模板,您可能不应该使用 c.Flash
。我对正在发生的事情的猜测是,revel
将只显示带有请求的闪现消息 received。调用 c.Flash.Error
设置 cookie 中的字段,这意味着它将被发送回调用者,而不是模板。在下一个 呈现器中,它将读取调用方发送回服务器的 cookie,其中将包含此 flash 消息。但是,显然,设置新的 flash 消息会替换旧的,导致它(再次)将其发送给调用者而不是模板。
好消息是,只有一种方法可以让您的消息出现在页面上,而且您几乎可以肯定地将您的消息硬塞在那里:模板数据!不要调用 c.Flash.Error
,而是使用通常的机制发送消息。在这种情况下,假设您的 flash.html
模板包含如下内容:
{{ if .flash.error }}
<div class="error">{{ .flash.error }}</div>
{{ end }}
您应该能够通过将 c.Flash.Error("Message")
行替换为以下内容来传递该数据:
c.ViewArgs["flash"] = map[string]string{"error": "Message"}
关于go - 不显示 revel flash 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54380070/
我正在关注 this tutorial关于使用 Go + Revel + MongoDB。但是当我启动应用程序时,出现了这个错误: The Go code api-go/app/init.go doe
我想禁用调试日志并希望将其他日志放入文件(日志文件)中。我试过以下两个片段。但它没有按预期工作。 log.all.filter.module.app = logfile log.all.filter.
是否可以在 Revel 中使用模板布局。例如,有一个包含 {{define "main"}}{{end}} 标签的 root.html。然后调用 ExecuteTemplate(out, "main"
我正在尝试在 revel go web 框架上构建一个简单的 web 应用程序。出于某种原因,当我在浏览器中打开它们的 URL 时,公共(public)目录中的文件没有正确加载。例如,可能会出现文件的
我正在寻找一种在版本更改时使缓存的静态内容无效的方法。最好使用提交 ID 使之无效。反正有没有在 revel 框架中做到这一点? 如果它是自动的,我会更喜欢,但如果它是我必须编辑的一个地方,我可以忍受
当我调用嵌套模板时,{{template "partials/mirror.html".}} 会抛出此错误: results.go:232: Template Execution Error (in
如何在 revel 框架中将文件 realtive 导入到 revel basefolder。目前我执行以下操作来获取一些配置值。 file, err := ioutil.ReadFile("conf
我正在学习 Revel 并使用验证包对输入进行一些检查。我想看看数据库中是否已经存在带有“名称”的记录(我通过表单从用户那里获得输入),如果为真,则返回错误,否则创建一条记录。我能够验证(使用内置方法
我无法使用 Revel 检索表单数据。不过,我能够检索查询参数。 我有这个 Controller 来测试c.Params的内容: func (c UserController) SaveUser()
我在获取 Revel 时遇到一些问题在我对包进行更新后启动并运行。每次我尝试运行 Revel 应用程序时,我都会收到以下错误消息: Go Compilation Error The Go code g
我正在寻找一种使用 Revel 框架清除 session 的方法。我试过 c.Session["REVEL_SESSION"] = ""和其他一些方法来重置它,但我没有成功。 最佳答案 这应该可行 d
我想将我的应用程序投入生产,但我无法理解我在尝试执行 revel build app 时收到的错误日志 这是日志的一部分: panic: runtime error: invalid memory a
我有一个传递两个变量的 Controller func (a App) Page() revel.Result { var g []*G ... return c.Render
我们目前正在与一个 revel 项目合作,测试的数量已经失控。我想在 tests 目录下创建一些包,以将 Controller 测试与模型测试等分开(例如 tests/controllers/, te
如何以编程方式关闭如下所示的日志。我需要它能够运行我的测试套件,而不用警告和信息日志填充测试日志。 revel.INFO.printf("") 感谢您的帮助。 最佳答案 来自包裹revel你有: va
我来自 Ruby/PHP 背景,通常我使用直接从 View 中拉取模型而无需 Controller ,例如在 erb 中文件: var vm = { rows: }; // r
有没有办法将迭代过的变量传递到 Golang/Revel 模板中? 例如,在“header.html”中,我有 {{range .templates}} {{template "somethi
我如何以编程方式检测我在 revel 框架中是处于生产模式还是开发模式? 最佳答案 revel中有导出的全局变量包裹: var ( RunMode string // Application-
我希望让我的 revel Controller 使用各种服务,我模拟这些服务以进行单元测试。我是新来的;在 C# 中,我会使用依赖注入(inject)来注入(inject)它们。在 revel 中有一
我正在用 Go 开发一个 API 服务器,该服务器(目前)为客户端处理所有翻译。当 API 客户端获取特定数据时,它还会询问可用于给定部分的翻译。 理想情况下,我希望具有以下文件夹结构: /messa
我是一名优秀的程序员,十分优秀!