2009-09-17 5 views
3

J'essaie un exemple simple de réécriture d'URL, mais cela ne fonctionne pas pour moi. J'utilise Seam 2.2.0 déployé sur JBoss 5.1.0.Seam 2.2.0 La réécriture d'URL ne fonctionne pas

Mon pages.xml contient:

<page view-id="/html/index.xhtml"> 
    <rewrite pattern="/home" /> 
</page> 

et

<page view-id="/html/common/redirect.xhtml" action="#{redirectAction.redirect}"> 
    <rewrite pattern="/link" /> 
    ... 

Mon components.xml contient:

<web:rewrite-filter view-mapping="*.seam"/> 

Pour autant que je peux dire de la documentation, que shou Je serai tout ce dont j'ai besoin. Cependant, aucun des liens internes n'apparaît différent, et si entrez l'URL: http://mysite/home ou mysite/link? Param = quelque chose, je reçois juste une page 404. Qu'est-ce que je rate?

Répondre

0

J'ai eu le même problème lorsque j'ai essayé de passer du filtre de réécriture Tuckey à la couture. Après quelques essais et erreurs, j'ai finalement remarqué que j'avais un page.xml pour la vue, mais j'ai ajouté le motif dans le fichier principal pages.xml. Le premier semble écraser le dernier.

0

De la documentation de couture:

«Le paramètre vue de cartographie doit correspondre à la cartographie Servlet définie pour les faces Servlet dans le fichier web.xml Si omis, le filtre de réécriture prend la forme * .seam. »

0

Je ne sais pas pourquoi vous approchez ne fonctionne pas. Mais n'oubliez pas que vous pouvez utiliser le fichier viewName.page.xml dans le même but.
Par exemple, puisque le nom de votre page est index.xhtml, vous devez créer le fichier index.page.xml dans le même dossier qui contient le fichier index.xhtml (dans votre cas, dans le dossier html).

Dans index.page.xml, ajoutez ceci.

<rewrite pattern="/home" /> 

Comme vous le font déjà votre fichier component.xml doit contenir la ligne

<web:rewrite-filter view-mapping="*.seam"/> 

déployer à nouveau et il devrait fonctionner.

+0

Merci pour la réponse, même si après trois ans, je n'ai même pas accès à ce projet pour tester votre théorie. IIRC, j'ai résolu ce problème et il a été causé par la superposition de mes fichiers XML pendant le processus de construction. Je me souviens d'une réponse me montrant dans la bonne direction, et je l'ai accepté. Maintenant, les deux sont partis, et je ne suis pas sûr de savoir comment cela est arrivé. –