2011-01-07 2 views
1

Grails가 항상 슬래시 (/)로 끝나는 URL을 생성하도록 지시하려면 어떻게해야합니까?

다음 Grails URL 매핑을 고려하십시오. g:link
class UrlMappings { 
    static mappings = { 
    "/something/${foo_id}/" { 
    controller = "foo" 
    action = "bar" 
    } 
} 
g:link를 사용하여 URL을 생성하는 경우.

<g:link controller="foo" action="bar" params="[foo_id: 123]">foobar</g:link> 

.. 결과 링크는 다음과 같습니다.

<a href="/something/123">foobar</a> 

URL 맵핑의 마지막 슬래시가 제거됩니다.

그러나 URL : s /something/123/something/123/은 여전히 ​​작동합니다.

내가 만들고있는 애플리케이션의 요구 사항 때문에 URL의 기본 버전 인 "슬래시로 끝나는"버전을 만들어야합니다. 이상적으로는 슬래시로 끝나지 않는 URL을 404 (표준 페이지 문제를 방지하기 위해)로 만들고 싶습니다.

Grails가 URL을 생성하게하는 가장 일반적인 가장 일반적인 방법은 무엇입니까?

해결 방법 중 하나는 수동으로 모든 URL을 생성하는 것이지만 그렇게하지 않으려 고합니다.

답변

5

불행히도 grails URL 매핑 메커니즘은 정교하지 않습니다. 따라서 앞으로 URL 매핑이 잘 작동하면 (URL에서 컨트롤러로) 역순으로 설명 된 결과를 얻기 위해 수동으로 수행해야합니다.

아마도 가장 좋은 방법은 원하는 링크를 출력 할 자체 태그를 만드는 것입니다.

1

그루비 태그를 만드는 방법을 찾고 있다면 항상 슬래시 (/)를 추가하여 URL의 끝을 추가하는 것이 가장 좋은 방법은 g와 같은 링크를 만드는 grails 사용자 정의 tagLib를 만드는 것입니다. link do.

그러나 슬래시가없는 링크로 탐색이 중지되는지는 알 수 없습니다.

관련 문제