2009-09-09 8 views
0

Donc, après avoir installé UrlRewriteFilter, j'ai mis en place une règle et un modèle de vélocité correspondant. Et quand je vais à la page de test, le script de vélocité est montré en tant que code brut au lieu d'être compilé.Problème d'urlrewritefilter avec le rendu du modèle de vitesse

exemple du code pour la règle:

<rule> 
    <from>/test/([0-9]+)</from> 
    <to>/downloads/test.vm?Id=$1</to> 
</rule> 

exemple de la urlrewritefilter

<filter> 
    <filter-name>UrlRewriteFilter</filter-name> 
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> 
    <init-param> 
     <param-name>logLevel</param-name> 
     <param-value>DEBUG</param-value> 
    </init-param> 
</filter> 

idées pourquoi le modèle de vitesse ne serait pas rendu même si la règle correctement exécutée? Toutes les autres pages vm s'affichent correctement (lorsque vous y accédez directement) et la réécriture fonctionne parfaitement avec jsp.

Répondre

1

Cela se produit lorsque test.vm est servi par la servlet par défaut pour le contenu statique.

Je suppose que vous avez modifié le mappage de la vélocité. Si vous utilisez des outils de Velocity, vous devriez avoir une cartographie comme celui-ci,

<servlet> 
    <servlet-name>velocity</servlet-name> 
    <servlet-class> 
    org.apache.velocity.tools.view.VelocityViewServlet 
    </servlet-class> 
</servlet> 

<!-- Map all *.vm files to Velocity --> 
<servlet-mapping> 
    <servlet-name>velocity</servlet-name> 
    <url-pattern>*.vm</url-pattern> 
</servlet-mapping> 

Une autre possibilité est que l'autre filtre pourrait interférer avec filtre UrlRewrite. Il serait utile que vous puissiez publier votre fichier web.xml.

+0

merci beaucoup pour l'astuce, je ne veux pas afficher le contenu de mon web.xml mais im regardant maintenant pour voir si ce mappage de servlet est géré ailleurs –

+0

regarda encore une fois et c'était un problème de cartographie dans le web.xml, merci encore pour l'aide –