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