2010-11-03 72 views
1

想要在使用grails webflow時使URL更友好。這對於大會的使用非常有限,很難繞開它的構建方式。 例如,我有一個在稱爲FooController的控制器稱爲fooProcess流動,當我觸發流我想顯示:?/富/酒吧/測試,而不是/富/ fooProcess excecution = e1s2Grails webflow url rewriting

class FooController { 
def fooProcessFlow { 
    showFoo { 
    } 
} 
} 

我嘗試使用重定向,並指定URI,但是這不支持,Grails的抱怨說,找不到網頁

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

的Grails /富/ fooProcess.dispatch/externalRedirect:/富/酒吧/測試

另外,如果,重定向是流中的結束狀態我只想渲染頁面,我必須使用渲染方法並根據webflow約定指定視圖名稱或結構視圖。

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

的網址就會在這種情況下

/foo/fooProcessProcess?execution=e6s1 

任何處理這種情況下過嗎?

沒有人Grails中 http://code.google.com/p/urlrewritefilter/

使用UrlRweriteFilter與webflows肯

回答

-1

您可以使用URLMappings Grails的插件

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

編輯這個文件:的grails-app /conf/UrlMappings.groovy

把這樣的東西放在裏面:

class UrlMappings { 

    static mappings = { 

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

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