您的位置:首页 > 编程语言 > Java开发

新手整合springmvc+velocity过程

2016-06-09 23:18 417 查看
最近闲来无事试着学习了一下velocity这个模板,做了一个springmvc的整合实例!

这个东西首先你需要引入velocity的包



有两个缺一不可。velocity.jar和velocity-tools.jar

接下来就是springmvc中velocity的bean配置(切记要注释掉其他视图解析器的代码,不然会找不到你要跳转的html或者vm的)



*********************************************************************** 

代码如下:
<!-- 模板信息设置 -->
<bean id="velocityConfigurer"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/" /><!-- WEB-INF/velocity
設置模板防止位置 -->
<property name="velocityProperties">
<props>
<prop key="directive.foreach.counter.name">loopCounter</prop>
<prop key="directive.foreach.counter.initial.value">0</prop>
<prop key="input.encoding">UTF-8</prop><!-- 指定模板引擎进行模板处理的编码 -->
<prop key="output.encoding">UTF-8</prop><!-- 指定输出流的编码 -->
</props>
</property>
</bean>

<!-- 设置视图解析工具 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="suffix" value=".html" />
<!-- 避免乱码 -->
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="dateToolAttribute" value="dateTool" />
<property name="numberToolAttribute" value="numberTool" />
<property name="exposeRequestAttributes" value="true" />
<property name="exposeSessionAttributes" value="true" />
</bean>

***********************************************************************

最重要就是springmvc中的这块的配置,配置成功之后就可以写模板文件了

我在工程中写了一个test3.vm文件,和一个test3.html文件(根据后缀来跳转),在经过如上的配置之后都能成功的跳转到对应的页面,下面贴下我的控制器的代码。



*********************************************************************** 

@RequestMapping(value = "test3")
public ModelAndView test3(HttpServletRequest request, HttpServletResponse response) {
ModelAndView mav = new ModelAndView("manager/test3");//
List<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
mav.addObject("msg", "shenfeng");
mav.addObject("list", list);
return mav;
}


***********************************************************************

控制器很简单,就是一个modelandview然后定义跳转的路径,进行跳转,上面的springmvc.xml我是配的html的后缀。所以就跳转到了test3.html,下面是我写的html代码。

*********************************************************************** 

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>${msg}</title>
</head>
<body>
$msg HTML  $msg
#foreach($li in $list)
#if($li=='C'||$li=='B')
<span style="color: red;"">$li</span>
#end
#end
</body>


***********************************************************************

最后将结果如下



就这样跳转成功的将我从后台返回的两个object给打印了出来。

我觉得有了这种模板,让我们可以不选择jsp也能实现对html的页面渲染赋值。有的时候用起来真的很方便,

而且让我写代码的时候面对一些比较重复的代码,根据一定的逻辑让他自动生成,而不用手写。

蛮方便的!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  velocity spring mvc html