Java velocity模板渲染的URL过滤器问题

Java velocity模板渲染的URL过滤器问题,java,velocity,servlet-filters,Java,Velocity,Servlet Filters,所以在安装之后,我设置了一个规则和相应的velocity模板。当我转到测试页面时,velocity脚本显示为原始代码,而不是编译 规则的代码示例: <rule> <from>/test/([0-9]+)</from> <to>/downloads/test.vm?Id=$1</to> </rule> /测试/([0-9]+) /下载/test.vm?Id=$1 URLEwriteFilter的示例 <

所以在安装之后,我设置了一个规则和相应的velocity模板。当我转到测试页面时,velocity脚本显示为原始代码,而不是编译

规则的代码示例:

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

/测试/([0-9]+)
/下载/test.vm?Id=$1
URLEwriteFilter的示例

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

URL重写过滤器
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
对数电平
调试

知道为什么即使规则执行正确,velocity模板也不会呈现吗?所有其他vm页面都正确呈现(当直接访问时),并且重写与jsp完美结合

当test.vm由静态内容的默认servlet提供服务时,就会发生这种情况

我怀疑你改变了速度的映射。如果您使用的是Velocity工具,您应该有这样的映射

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

速度
org.apache.velocity.tools.view.VelocityViewServlet
速度
*.vm

另一种可能性是其他筛选器可能会干扰URLRewite筛选器。如果你能发布你的web.xml,那将很有帮助。

非常感谢你的提示,我不想显示我的web.xml的内容,但我现在正在查看servlet映射是否得到了处理。我再次查看了它,它是web.xml中的一个映射问题,再次感谢你的帮助