gpt4 book ai didi

grails - 对于同一 Controller ,Grails使用不一致的重定向uri

转载 作者:行者123 更新时间:2023-12-02 15:37:01 25 4
gpt4 key购买 nike

我的Grails应用程序中有一个带有简单映射的简单 Controller ...

TCacheController {
def index ={}
def list= {}

}
"/tcache/" (controller: "TCache"){
action = [GET: "index"]
}

"/tcache/items" (controller: "TCache"){
action = [GET: "list"]
}

我所有的URL的形式均为 http://.../tcache/ *,并且一切正常。当我在这样的 View 中使用 <g:actionSubmit>时,就会出现问题。
<g:form controller="TCache">

<g:actionSubmit class="delete" action="list" value="List Items">

提交有效,但是在我的列表操作中,我进行了重定向,以防万一出现问题,并且该重定向导致404,因为Grails发送的是 /TCache/..而不是 /tcache/...
在什么情况下Grails会更改URI的大写/小写,并且是否有办法强制其始终使用 /tcache?我尝试在表单中使用controller =“tcache”,但是该操作停止了工作,可能是因为Grails找不到 Controller 。

最佳答案

我设法自己解决了这个问题。 Grails对配置的约定很棒,但是有时Grails并不总是能正确猜测。

在 Controller 中,渲染 View 时,使用文字路径可确保Grails不必猜测任何东西...

TCacheController {
def index ={}
def list= {
render( view: "/tcache/listitems", model:[])
}

代替...
render( view: "listitems", model:[])

在我的情况下,有多个 Controller ,Grails似乎有些困惑,当它应该使用 /TCache/..时,尝试为完整的渲染 View 路径添加 /tcache/listitems前缀。

关于grails - 对于同一 Controller ,Grails使用不一致的重定向uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8683570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com