Suite à une de mes anciennes questions, j'ai réussi à faire fonctionner correctement la réécriture d'URL pour mon projet Struts où des URL comme search?q=blah
sont converties en requêtes search.action?q=blah
. Nous utilisons UrlRewriteFilter pour cela. Cela semble bien se transmettre aux struts (si vous vous assurez qu'il a un filtre avec FORWARD), mais quand le ParametersIntercepter
s'exécute il semble attraper chaque paramètre deux fois, et en ajoutant des virgules entre les deux. Ainsi, les éléments suivants:Combinaison d'UrlRewriteFilter et de Struts 2 avec les paramètres get
search.action?q=blah
Définit le paramètre q sur l'objet Critères (voir plus loin) à:
[ blah, blah ]
Les paramètres sont définis par le biais ModelDriven<Criteria>
Lorsque des critères est une classe simple avec un tas de propriétés à être défini à partir de la chaîne GET.
Je n'arrive pas à expliquer pourquoi cela se produit. Est-ce que quelqu'un a déjà vu quelque chose comme ça? Est-ce que je fais quelque chose de mal en ce qui concerne les filtres/intercepteurs?
edit: Il semble que le ParametersInterceptor
définit simplement les paramètres contenus dans l'objet ActionContext. Je ne suis pas sûr (et je ne vois pas les messages de débogage qui indiquent) où ces valeurs sont définies dans le ActionContext. Est-ce que quelqu'un se soucie de clarifier comment tout cela est censé fonctionner?
acceptée réponse propre de sorte qu'il ne montre pas comme sans réponse – wds