springMVC整合Freemarker例子

本文介绍如何在SpringMVC中整合Freemarker模板引擎,并通过示例代码展示了配置过程及简单应用。

springMVC整合Freemarker例子

    

freemarker是Java模板引擎

springmvc的搭建流程就不详细讲解了,需要的同学可以看我之前的博文。

这次主要分享的是:springMVC整合Freemarker

需要的Jar包:

       ——freemarker-2.3.15.jar

      ——jstl.jar

在已搭建好的spring的配置文件的基础上添加以下代码:

(用于解析freemarker的视图文件)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!-- freemarker的配置 --> 
  < bean id = "freemarkerConfig" class = "org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"
    < property name = "templateLoaderPath" value = "/WEB-INF/view/" /> 
    < property name = "defaultEncoding" value = "utf-8" /> 
    < property name = "freemarkerSettings"
    < props
     < prop key = "template_update_delay" >10</ prop
     < prop key = "locale" >zh_CN</ prop
     < prop key = "datetime_format" >yyyy-MM-dd</ prop
     < prop key = "date_format" >yyyy-MM-dd</ prop
     < prop key = "number_format" >#.##</ prop
    </ props
   </ property
  </ bean
  <!-- FreeMarker视图解析   如返回student。。在这里配置后缀名ftl和视图解析器。。--> 
  < bean id = "viewResolver" class = "org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"
     
   < property name = "viewClass" value = "org.springframework.web.servlet.view.freemarker.FreeMarkerView" ></ property
     
   < property name = "suffix" value = ".ftl" /> 
   < property name = "contentType" value = "text/html;charset=utf-8" /> 
   < property name = "exposeRequestAttributes" value = "true" /> 
   < property name = "exposeSessionAttributes" value = "true" /> 
   < property name = "exposeSpringMacroHelpers" value = "true" /> 
  </ bean >

 

java文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.app.controller; 
   
import java.util.HashMap; 
import java.util.Map; 
   
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
   
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.servlet.ModelAndView; 
   
   
@Controller 
public class FreemarkerDemo { 
        
     @RequestMapping (value= "xuan/freemarker"
     public ModelAndView testfreemarkerview(HttpServletRequest request,HttpServletResponse response){ 
         ModelAndView mav= new ModelAndView(); 
         System.out.println( "你的上传空间" ); 
         String str= "这是返回给freemarker页面的值"
         mav.addObject( "haha" , str); 
    
         ///这里顺便回顾下HashMap的使用方法 
/*      创建:Map<String,String> map = new HashMap<String,String>();
         插入元素:map.put("1","a"); 
         移除元素: map.remove("1");
         清空: map.clear();*/ 
         Map<String,String> map= new HashMap<String,String>(); 
         map.put( "name" "xiaoming" ); 
         map.put( "age" "21" ); 
         map.put( "address" "硅谷" ); 
         map.put( "ad" "广州" ); 
         map.remove( "ad" ); 
         mav.addObject( "maplist" , map); 
         mav.setViewName( "freemaeker/xuan" ); 
         return mav; 
    
}

freemarker页面:(xuan.ftl)
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
< html
< p >我们${haha}</ p
< p >你好吗?${maplist.name}</ p
< p >你好?${maplist.age}</ p
< p >你吗?${maplist.address}</ p
< p >你?${maplist.ad!}</ p
   
Welcome ${user!}! 
Welcome ${user!'your name'}! 
或者 
${user?if_exists} 
   
${user?default('your name')} 
   
如果user找不到值,会输出 
Welcome ! 
Welcome your name! 
否则freemarker会报错 
   
</ html >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值