Grails1.2.1的奇怪UrlMappings行为
我在SpringSource工具套件2.3.2中创建了一个Grails 1.2.1应用程序,下面是我的UrlMappings.groovy:Grails1.2.1的奇怪UrlMappings行为,grails,url-mapping,Grails,Url Mapping,我在SpringSource工具套件2.3.2中创建了一个Grails 1.2.1应用程序,下面是我的UrlMappings.groovy: class UrlMappings { static mappings = { "/$controller/$action?/$id?"{ constraints { // apply constraints here } } "/broadcasters/setInterval" {
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/broadcasters/setInterval" { //cause a 404
controller = "broadcaster"
action = "setRefreshInterval"
}
"/broadcasters/online/$id?" { //this one is OK
controller = "broadcaster"
action = "listOnlineBroadcasters"
}
"/broadcasters/$id?" { //this one is OK
controller = "broadcaster"
action = "listAllBroadcasters"
}
"/" (controller: "login", action:"auth")
"/logout" (controller: "logout")
"500"(view:'/error')
"404"(view:'/404')
}
}
这是我的控制器
package xxx.yyy.controllers
import org.codehaus.groovy.grails.plugins.springsecurity.Secured
@Secured(['ROLE_ADMIN'])
class BroadcasterController {
def broadcasterService
static defaultAction = "listAllBroadcasters"
def listOnlineBroadcasters = {
...
}
def listAllBroadcasters = {
...
}
def setRefreshInterval = {
...
}
}
当我访问url/broadcasters/setInterval时,我得到了一个404请求,无论是普通请求还是ajax请求。我还编写了一个简单的单元测试来检查URL映射:
class GSMUrlMappingTests extends GrailsUrlMappingsTestCase {
void testUrlMapping() {
assertUrlMapping ("/broadcasters/setInterval", controller: "broadcaster", action: "setRefreshInterval")
}
}
测试失败了!这是Grails1.2.1的bug还是我遗漏了什么?
这是我使用过的插件
plugins.acegi=0.5.2
plugins.debug=1.0.2
plugins.hibernate=1.2.1
plugins.jdbc-pool=0.1
plugins.tomcat=1.2.1
类URL映射{
静态映射={
/$controller/$action?/$id{
约束条件{
//在此处应用约束
}
}
关门了。
其他映射需要在范围内,通常在控制器操作结束时,您可以重定向或呈现某些内容。如果您没有明确定义要呈现的内容,则可能会尝试呈现默认视图/broadcasters/setInterval.gsp。由于您已取消了setRefreshInterval控制器操作,因此很难知道问题是。参见参考文件