gpt4 book ai didi

Grails UrlMapping 路由到固定 Controller 和 Action

转载 作者:行者123 更新时间:2023-12-02 15:32:39 24 4
gpt4 key购买 nike

我在我的 UrlMapping 文件中制定了以下规则,现在我的所有 Controller 都匹配( "/$username" )映射,而不是第一个( "/$controller/$action?/$id?" )。

这里的想法是使用短 url 列出用户的所有公共(public)项目。它可以工作,但会破坏所有其他 Controller 。

static mappings = {

"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}

"/$username" {
controller = 'user'
action = 'publicItens'
}

"/"(controller:'usuario', action: 'index' )
"500"(view:'/error')
}

我怎样才能正确映射它?

最佳答案

解决了!

我只是在 UrlMappings 中编写了一些代码来为应用程序中的每个 Controller 自动创建规则。当用户键入/appname/controllerName 时使用此方法,则自动创建的规则被视为代替“$/username”规则。

关键点是已弃用的 ApplicationHolder 的使用。这可以修复编写您自己的 ApplicationHolder。

static mappings = {

//creates one mapping rule for each controller in the application
ApplicationHolder.application.controllerClasses*.logicalPropertyName.each { cName ->
"/$cName" {
controller = cName
}
}

"/$controller/$action?/$id?"{
}

"/$username" {
controller = 'usuario'
action = 'itensPublicos'
}

"/"(controller:'usuario', action: 'index' )
"500"(view:'/error')
}

关于Grails UrlMapping 路由到固定 Controller 和 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16972150/

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