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

时间:2015-06-22 17:51:50

标签: java html spring-mvc velocity

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

任何有用的网站/帮助将不胜感激。 感谢

2 个答案:

答案 0 :(得分:0)

你的问题中这个html到.vm转换的东西似乎有点误导,无论它是什么 - .vm(速度模板),。jsp,.ftl(自由标记模板)等,当在前端渲染时它是只是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可能会有很好的帮助。

答案 1 :(得分:0)

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

您可能希望像这样提供* .html请求。

的web.xml

S

然后在您的servlet-context.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>

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>

这可以解决您的问题。

请注意,在MVC中,视图会根据您的请求类型返回,不会发生文件类型的实际转换