2010-11-03 5 views
1

Хотите, чтобы URL-адреса SEO были удобными при использовании веб-потока grails. Это довольно ограничивает использование гравюры конвенции и трудно обойти вокруг того, как она построена. Например, у меня есть поток, называемый fooProcess в контроллере называется FooController, когда я вызвать поток я хотел бы дисплей:?/Foo/бар/теста, вместо/Foo/fooProcess excecution = e1s2Grails webflow url rewriting

class FooController { 
def fooProcessFlow { 
    showFoo { 
    } 
} 
} 

Я попытался с помощью перенаправления и указать URI, но это не поддерживается, Grails жалуется, что страница не найдена

fooProcessFlow { 
showFoo {        
    redirect(uri:"/foo/bar/test")  
} 
} 

Grails/Foo/fooProcess.dispatch/externalRedirect:/Foo/бар/тест

Кроме того, перенаправление является конечным состоянием в потоке, если Я только хочу отобразить страницу, я должен использовать метод визуализации и указать имя представления или структуру своих представлений в соответствии с соглашением Webflow.

fooProcessFlow { 
showFoo {        
    render(view:"/foo/bar/test") 
    on "add".to "add" 
} 
} 

URL-адрес будет в этом случае

/foo/fooProcessProcess?execution=e6s1 

Любой занимался этим делом до этого?

ли кто-нибудь использовать UrlRweriteFilter с webflows в Граалей http://code.google.com/p/urlrewritefilter/

кен

ответ

-1

Вы можете использовать URLMappings Grails Plugin

См: http://grails.org/doc/latest/ref/Plug-ins/URL%20mappings.html

Редактировать этот файл: Grails-приложение /conf/UrlMappings.groovy

Положив что-то вроде этого внутри:

class UrlMappings { 

    static mappings = { 

     "/foo/bar/test" (controller: "foo", action: "fooProcessFlow") 

     "/$controller/$action?/$ids?"{ 
      constraints { 
      } 
     } 
    } 
}