2010-03-25 2 views
0

Я создал (1.2.1) приложения Grails в SpringSource Tools Suite, 2.3.2 и вот мой UrlMappings.groovy:Weird UrlMappings для Grails 1.2.1

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-адресу /вещательные/setInterval, у меня 404 как в качестве нормального или АЯКС запроса. Я также пишу простой модульный тест, чтобы проверить его для моих UrlMappings:

class GSMUrlMappingTests extends GrailsUrlMappingsTestCase { 
    void testUrlMapping() { 
     assertUrlMapping ("/broadcasters/setInterval", controller: "broadcaster", action: "setRefreshInterval") 
    } 
} 

И тест не прошел! Это ошибка Grails 1.2.1, или я что-то упускаю? Вот плагины я использовал

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 
+0

Обычно в конце действия контроллера вы либо перенаправляете, либо визуализируете что-то. Если вы не определили что-то явное для рендеринга, оно может попытаться отобразить представление по умолчанию (/broadcasters/setInterval.gsp). Поскольку вы отключили действие контроллера setRefreshInterval, трудно понять, в чем проблема. См. Справочный документ по адресу http://www.grails.org/doc/latest/guide/single.html#6.1.3%20Models%20and%20Views –

ответ

0

class UrlMappings { static mappings = { "/$controller/$action?/$id?"{ constraints { // apply constraints here } }

закрыт. Другие сопоставления должны быть в пределах

 Смежные вопросы

  • Нет связанных вопросов^_^