我想了解一下url助手是如何工作的。例如,在我的模板中我有:
<a href="{{url "Pages.IndexPages" ???}}">my super url</a>在控制器中:
func (c Pages) IndexPages() revel.Result {
...
}我需要像这样的网址
http://localhost:9000/pages?page=1我不想写:
func (c Pages) IndexPages(page int) revel.Result {因为我想检查控制器是否包含参数page。
如何使用url助手将我的模板变量添加到c.Params.Query?
发布于 2014-10-30 08:25:32
Revel url helper code in template.go
// Return a url capable of invoking a given controller method:
// "Application.ShowApp 123" => "/app/123"
func ReverseUrl(args ...interface{}) (template.URL, error) {我们需要用关于这个模板函数的信息来更新手册,但是你可以在上面的链接和代码中看到它的用法。您向它传递一个带有参数的控制器和操作,它就会创建一个具有匹配路由的template.URL对象。
您似乎对url助手是如何工作的不感兴趣(尽管这是您所问的)。您想知道如何将page变量传递给模板吗?在您的控制器中,您需要通过c.RenderArgs["page"] = page传递page。然后,您可以在模板中引用它:<a href="{{url "Pages.IndexPages" .page}}">my super url</a> Revel Template Doc。
如前所述,如果不想使用参数绑定特性,可以使用page := c.Params.Query.Get("page")手动获取page的值。
https://stackoverflow.com/questions/24933770
复制相似问题