2012-12-23 2 views
0

Grails를 1.3.5Grails의 URL 매핑지도

내 응용 프로그램의 새로운 컨트롤러에 매핑 :

"/order/$action/$id?" { 
    controller = "customerOrder" 
} 
는 "/ 주문/쇼/13"에 대한 요청이 해결

에 "/ ( )/() λ/(*) λ " 로그에 여기에서 볼 수 있듯이 :

17:53:02 DEBUG UrlMappingsFilter - Matched URI [/order/show/13] to URL mapping [/(*)/(*)?/(*)?], forwarding to [/grails/home/page.dispatch] with response [class org.codehaus.groovy.grails.web.sitemesh.GrailsContentBufferingResponse] 

나는이 매핑을 추가하는 경우 :

"/order/show/13"{ 
    controller = "customerOrder" 
    action = "show" 
    id = 13 
} 

그것은 여전히에 해결 "?// () (을)/(*)?".

"/customerOrder/show/13"{ 
    controller = "customerOrder" 
    action = "show" 
    id = 13 
} 

및 로그 보고서 :

18:50:08 DEBUG DefaultUrlMappingsHolder - Matched URI [/customerOrder/show/13] with pattern [/customerOrder/show/13], adding to posibilities 

나중에도보고합니다

18:50:08 DEBUG DefaultUrlMappingsHolder - Matched URI [/customerOrder/show/13] with pattern [/(*)/(*)?/(*)?], adding to posibilities 

나는 완전히이 일에 당황하고있어 나는 매핑을 편집했다. 어느 쪽이든, 그것은 같은 것을 해결합니다. 누구 아이디어?

답변

1

분명히 1.3.5에서는 뷰 함수를 선언 할 때 함수 구문의 명명 된 클로저 intstead를 사용해야합니다.

def show(Long id) { } 

def show = {} 

비해 후자는 정확하다. 누군가가 왜 빛을 비출 수 있다면 ...