Grails命名空间问题
我在grails重定向到名称空间时遇到问题: 我在LoginController中有此重定向:Grails命名空间问题,grails,Grails,我在grails重定向到名称空间时遇到问题: 我在LoginController中有此重定向: redirect(namespace:'auth',controller:'login',action: "login") 这在我的URL映射中定义: "/auth/$action?/$id?" { controller = 'login' namespace = 'auth' } 但是重定向不起作用,它重定向:login/login而不是auth/login 此外,登录表单是通过登录/身份
redirect(namespace:'auth',controller:'login',action: "login")
这在我的URL映射中定义:
"/auth/$action?/$id?" {
controller = 'login'
namespace = 'auth'
}
但是重定向不起作用,它重定向:login/login而不是auth/login
此外,登录表单是通过登录/身份验证而不是身份验证/身份验证的操作生成的
有什么想法吗
这是Grails2.3.4 btw
谢谢。一个对我有效的解决方案是使用: 1) 在UrlMappings.groovy中提供映射名称:
name specialLoginMapping: "/auth/$action?/$id?" {
controller = 'login'
namespace = 'auth'
}
"/auth/$controller/$action?/$id?" {
namespace = 'auth'
}
2) 在重定向调用中引用此映射
redirect(mapping: 'specialLoginMapping', action: 'login')
Grails应该从上面的UrlMappings条目中获取控制器/名称空间在UrlMappings中使用以下代码进行尝试。groovy:
name specialLoginMapping: "/auth/$action?/$id?" {
controller = 'login'
namespace = 'auth'
}
"/auth/$controller/$action?/$id?" {
namespace = 'auth'
}
要在表单操作中获取控制器的正确路径,请在url中使用命名空间:
<g:form url="[action:'save', namespace:'auth']">
.......
</g:form>
.......