Spring mvc 使用spring 3.x配置velocity工具

Spring mvc 使用spring 3.x配置velocity工具,spring-mvc,velocity,Spring Mvc,Velocity,我对spring和velocity都是新手 我想用Spring3.x配置velocity工具 但是我找不到关于这方面的好文章 +velocity模板未显示会话变量 我从Spring controller设置了它,听起来你可能有部分工作,但你没有给出太多细节,所以我不知道你已经做了多少。因此,我将给您一个一般性的答案:首先学习SpringMVC的基础知识,然后使用Spring文档来理解Velocity集成。一旦您有了一个使用springmvc和jsp的工作web应用程序,使用Velocity模板而

我对spring和velocity都是新手 我想用Spring3.x配置velocity工具 但是我找不到关于这方面的好文章
+velocity模板未显示会话变量
我从Spring controller设置了它,听起来你可能有部分工作,但你没有给出太多细节,所以我不知道你已经做了多少。因此,我将给您一个一般性的答案:首先学习SpringMVC的基础知识,然后使用Spring文档来理解Velocity集成。一旦您有了一个使用springmvc和jsp的工作web应用程序,使用Velocity模板而不是jsp就相当简单了

因此,首先,请阅读一篇关于Spring MVC的好教程,例如:

然后,当您完成这项工作后,请阅读(相当短的)Spring文档中关于速度的部分:


基本上,您需要使用此处记录的
VelocityViewResolver
,而不是教程中的
InternalResourceViewResolver
。然后创建.vm Velocity模板来代替.jsp文件来显示页面

至于在spring 3.x中配置Velocity工具,首先将tools.xml文件放在有用的地方,例如:/WEB-INF/vm/toolbox.xml 然后将视图分辨率配置为在该位置查看:

<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
    ...
    <!--Other config properties in here -->
    ...
    <property name="toolboxConfigLocation" value="/WEB-INF/vm/toolbox.xml" />
</bean>

...
...
示例toolbox.xml文件:

<toolbox>
<xhtml>true</xhtml>
<tool>
    <key>date</key>
    <scope>application</scope>
    <class>org.apache.velocity.tools.generic.DateTool</class>
    <parameter name="format" value="dd/MM/yyyy" />
</tool>
<tool>
    <key>display</key>
    <scope>application</scope>
    <class>org.apache.velocity.tools.generic.DisplayTool</class>
</tool>
<tool>
    <key>math</key>
    <scope>application</scope>
    <class>org.apache.velocity.tools.generic.MathTool</class>
</tool>
<tool>
    <key>iter</key>
    <scope>application</scope>
    <class>org.apache.velocity.tools.generic.IteratorTool</class>
</tool>
<tool>
    <key>sort</key>
    <scope>application</scope>
    <class>org.apache.velocity.tools.generic.SortTool</class>
</tool>
</toolbox>

真的
日期
应用
org.apache.velocity.tools.generic.DateTool
显示
应用
org.apache.velocity.tools.generic.DisplayTool
数学
应用
org.apache.velocity.tools.generic.MathTool
iter
应用
org.apache.velocity.tools.generic.IteratorTool
分类
应用
org.apache.velocity.tools.generic.SortTool

希望这一点至少能有所帮助。

感谢您的回复,我已经成功地集成了spring mvc和velocity,但模板没有显示会话变量,假设我在执行此操作时ModelAndView=new ModelAndView(“helloWorld”);view.addObject(“消息”、“Hello World会话”);tempate正确地呈现了这一点,但当我执行此请求时。getSession().setAttribute(“message1”,“Hello World会话”);模板未正确呈现消息1看起来spring正在使用spring模型数据填充velocity上下文spring如何使用会话和应用程序范围数据填充velocity上下文我应该设置velocity工具或任何配置更改吗?我认为这正是视图的工作方式:它显示来自弹簧模型。。。它并不意味着要显示来自其他源(如会话或应用程序范围)的数据。如果要显示会话(etc)数据,请使用
view.addObject()
将其添加到Spring模型中。Spring提供了对velocity的过时支持我的会话中存储了大量数据,对此我无能为力,现在我决定使用支持会话和应用程序的freemarker。这里是否没有合适的答案?