2010-11-03 5 views
1

Vous voulez rendre les URL SEO friendly lors de l'utilisation de grails webflow. C'est assez limitatif avec la convention d'utilisation des grails et difficile de contourner la façon dont il est construit. Par exemple, j'ai un flux appelé fooProcess dans le contrôleur appelé FooController, lorsque je déclenche le flux je voudrais l'affichage:/foo/bar/test, au lieu de/foo/fooProcess excecution = e1s2Grails webflow url rewriting

class FooController { 
def fooProcessFlow { 
    showFoo { 
    } 
} 
} 
Je

essayé d'utiliser rediriger et spécifiez le uri, mais ce n'est pas pris en charge, Grails se plaint que la page ne se trouve pas

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

Grails/foo/fooProcess.dispatch/externalRedirect:/foo/bar/test

En outre, une redirection est un état final dans un flux, si Je veux seulement rendre la page, je dois employer la méthode de rendu et indiquer le nom de vue ou structurer mes vues selon la convention de flux de Web.

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

L'URL sera dans ce cas

/foo/fooProcessProcess?execution=e6s1 

Toute personne a traité ce cas avant?

Est-ce que quelqu'un utilise UrlRweriteFilter avec webflows dans Grails http://code.google.com/p/urlrewritefilter/

ken

Répondre

-1

Vous pouvez utiliser URLMappings Grails Plugin

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

Modifier ce fichier: Grails-app /conf/UrlMappings.groovy

Mettre quelque chose comme ça à l'intérieur:

class UrlMappings { 

    static mappings = { 

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

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