2010-11-03 80 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 { 
      } 
     } 
    } 
}