需要使用spring mvc将.html中的UI页面转换为.vm(velocity模板)文件。尝试在其他站点上搜索,但没有任何不错的信息。如何使用spring mvc将Html文件转换为.vm(velocity模板)文件
任何有用的网站/帮助将不胜感激。 谢谢
需要使用spring mvc将.html中的UI页面转换为.vm(velocity模板)文件。尝试在其他站点上搜索,但没有任何不错的信息。如何使用spring mvc将Html文件转换为.vm(velocity模板)文件
任何有用的网站/帮助将不胜感激。 谢谢
首先,您需要清楚的是,当您使用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 "template"; //Return the name of view to be found in the views folder.
//The template.vm should be present in your views folder.
这会解决您的问题。
请清楚,在MVC中,视图根据您的要求的类型返回,文件类型的没有实际发生转换。
在你的问题这个html到.vm转换的东西似乎有点误导,无论它可能是 - .vm(速度模板),.jsp,.ftl(freemarker模板)等,当呈现在前面结束它只是HTML。
我相信,你想知道如何配置弹簧mvc使用速度作为你的视图层。
为此,您需要将视图解析器配置为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可能是很好的帮助。
你究竟想要做什么?如果它只是一个普通的.html文件,说“index.html”,你可以将它保存为“index.vm”,就完成了。 –
我有html文件,我需要使用spring mvc.Not bale来转换/配置速度模板,以找出速度模板中tool.xml的用法。 – ajay