2010-06-02 1 views
3

Essentiellement, je cherche à conserver un paramètre de requête url tout au long de la vie de l'application Grails (POST ou GET). ex.Paramètre d'URL persistante dans l'application grails

http://localhost:8080/demo/controller/action/?myParam=foobar 

J'ai essayé quelques routes. La méthode dynamique remplaçant redirige et personnalise les tags d'application pour createLink. Cependant, comme j'utilise aussi les flux Web de Grails, il n'y a pas toutes les URL. J'ai également essayé d'utiliser un servlet groovy (groovlet) pour capturer chaque URL et ajouter le paramètre de requête. La dernière tentative n'a pas été très réussie. Est-ce que je manque une composante évidente aux grails? Suis-je sur la bonne voie? Y a-t-il une autre voie que je n'ai pas encore explorée?

Merci à l'avance

+0

Pourquoi cela doit-il être un paramètre de requête? Pourquoi ne pas simplement stocker la valeur dans la session? –

+0

Étant donné l'environnement dans lequel la guerre de Grails est déployée, il existe une règle d'équilibrage de charge qui nécessite le paramètre de requête. C'est quelque chose que je ne peux pas changer et que je dois donc travailler avec. Le paramètre de requête ne sert à rien à la guerre que pour charger l'équilibreur. Bizarre je sais. – avelis

Répondre

3

Avez-vous essayé d'utiliser un filter? Le filtre suivant ajoutera le paramètre à chaque requête

class MyFilters { 
    def filters = { 
     addParam(controller:'*', action:'*') { 
      before = { 
       params.myParam = 'foobar' 
      } 

} } } 
+0

C'est ce que j'ai fini par faire avec une vérification supplémentaire pour rediriger. La redirection s'est assurée que l'URL contenait toujours le paramètre de requête. – avelis