springMVC整合Freemarker例子

freemarker是Java模板引擎

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

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

需要的Jar包:

       ——freemarker-2.3.15.jar

      ——jstl.jar

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

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

    <!-- 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文件:

    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)
<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>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值