проблема urlrewritefilter с рендерингом шаблона - PullRequest
0 голосов
/ 10 сентября 2009

Итак, после установки UrlRewriteFilter , я установил правило и соответствующий шаблон скорости. И когда я перехожу на тестовую страницу, сценарий скорости отображается как необработанный код, а не компилируется.

пример кода для правила:

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

пример фильтра urlrewrite

<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>

есть идеи, почему шаблон скорости не будет отображаться, даже если правило выполнено правильно? Все другие страницы VM отображаются правильно (при прямом доступе), и перезапись прекрасно работает с JSP.

1 Ответ

1 голос
/ 10 сентября 2009

Это происходит, когда test.vm обслуживается сервлетом по умолчанию для статического содержимого.

Я подозреваю, что вы как-то изменили отображение для скорости. Если вы используете Velocity Tools, у вас должно быть такое отображение:

<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>

Другая возможность состоит в том, что другой фильтр может мешать работе фильтра UrlRewrite. Было бы полезно, если вы можете опубликовать свой web.xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...