Grails webflow url重写

Grails webflow url重写,grails,Grails,希望在使用grails webflow时使URL SEO友好。grails使用的约定非常有限,而且很难按照其构建方式进行。 例如,我在名为FooController的控制器中有一个名为fooProcess的流,当我触发该流时,我希望显示:/foo/bar/test,而不是/foo/fooProcess?execution=e1s2 class FooController { def fooProcessFlow { showFoo { } } } 我尝试使用重定向并指定uri,

希望在使用grails webflow时使URL SEO友好。grails使用的约定非常有限,而且很难按照其构建方式进行。 例如,我在名为FooController的控制器中有一个名为fooProcess的流,当我触发该流时,我希望显示:/foo/bar/test,而不是/foo/fooProcess?execution=e1s2

class FooController {
 def fooProcessFlow {
   showFoo {
   }
 }
}
我尝试使用重定向并指定uri,但这不受支持,grails抱怨找不到该页面

fooProcessFlow {
 showFoo {                              
   redirect(uri:"/foo/bar/test")    
 }
}
grails/foo/fooProcess.dispatch/externalRedirect:/foo/bar/test

另外,重定向是流中的一种结束状态,如果我只想呈现页面,我必须使用render方法并根据webflow约定指定视图名称或视图结构

fooProcessFlow {
 showFoo {                              
   render(view:"/foo/bar/test") 
   on "add".to "add"
 }
}
在这种情况下,url将是

/foo/fooProcessProcess?execution=e6s1
以前有人处理过这个案子吗

有人在grails中将URLRERIEFILTER与webflows一起使用吗


ken

您可以使用URLMappingsGrails插件

见:

编辑此文件:grails app/conf/UrlMappings.groovy

把这样的东西放进去:

class UrlMappings {

    static mappings = {

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

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