Pergunta

Assim, depois de instalar UrlRewriteFilter , eu configurar uma regra e um modelo de velocidade correspondente. E quando eu ir para a página de teste, o script de velocidade é mostrada como código-primas em vez de ser compilado.

exemplo do código para a regra:

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

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

alguma idéia porque o modelo velocidade não tornam mesmo que a regra executada corretamente? Todas as outras páginas vm processar corretamente (quando acessado diretamente) ea reescrita funciona perfeitamente com jsp.

Foi útil?

Solução

Isso acontece quando o test.vm é servido pelo servlet padrão para conteúdo estático.

Eu suspeito que você mudou o mapeamento para a velocidade de alguma forma. Se você estiver usando ferramentas de velocidade, você deve ter um mapeamento como este,

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

Outra possibilidade é que outro filtro pode interferir com filtro UrlRewrite. Seria útil se você pode postar o seu web.xml.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top