如何使用 spring mvc 将 Html 文件转换为 .vm(速度模板)文件

How to Convert Html files into .vm(velocity template) files using spring mvc

需要使用 spring 将 .html 中的 UI 页面转换为 .vm(速度模板)文件 mvc.I 尝试在其他网站上搜索但没有找到任何好的信息。

任何有用的 site/help 将不胜感激。 谢谢

你问题中的这个 html 到 .vm 的转换似乎有点误导,因为它可能是 - .vm(velocity template), .jsp , .ftl(freemarker template) ,等,在前端渲染时它只是 html。

我相信,您想知道如何配置 spring mvc 以使用 velocity 作为视图层。

为此,您需要将视图解析器配置为 VelocityViewResolver。

转到您的 'mvc-dispatcher-servlet.xml' 或“-servlet.xml”,它默认包含用于 jsp 文件的 spring 的 InternalResourceViewResolver 配置。 您需要像这样添加特定于速度的配置:

<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
    <property name="cache" value="true"/>
    <property name="prefix" value=""/>
    <property name="suffix" value=".vm"/>
</bean>

这个link可能会有很好的帮助。

首先,您需要清楚的是,当您使用 MVC 时,您可以以任何您想要的方式提供页面。这是您的问题的一种可能解决方案,它是我自己的应用程序中的实际代码。

您可能希望像这样处理 *.html 请求。

web.xml

<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        PATH/TO/YOUR/SERVLET-CONTEXT.xml
    </param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>appServlet</servlet-name>
  <url-pattern>*.html</url-pattern>
</servlet-mapping>

然后在你的servlet-context.xml中,你可以像这样配置VelocityViewResolver

<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
    <property name="cache" value="true"/>
    <property name="prefix" value="PATH/TO/YOUR/VIEWS/FOLDER"/>
    <property name="suffix" value=".vm"/>
</bean>

然后从您的控制器中,return您要呈现的视图的名称,这不应包括扩展名

return "template";    //Return the name of view to be found in the views folder.
                      //The template.vm should be present in your views folder.

这将解决您的问题。

请注意,在 MVC 中,视图是根据您的请求类型 return 编辑的,不会发生 file-types 的实际转换 .