spring mvc 使用Freemarker模板

首先,定义一个freemarker模板,解析对象studentList

/freemarker/success.ftl

 

< html >
  
< body >
    
< table  border ="1" >
     
< #list  studentList as student >
      
< tr >
       
< td > ${student.name} </ td >
       
< td > ${student.sex} </ td >
      
</ tr >
     
</ #list >
      
    
</ table >
  
</ body >   
</ html >

 JavaBean

 

package  model;

public   class  Student  {
   
private String name;
   
private String sex;
public String getName() {
    
return name;
}

public void setName(String name) {
    
this.name = name;
}

public String getSex() {
    
return sex;
}

public void setSex(String sex) {
    
this.sex = sex;
}

}

 

编写控制器:

 

package  Action;

import  java.util.ArrayList;
import  java.util.List;

import  javax.servlet.http.HttpServletRequest;
import  javax.servlet.http.HttpServletResponse;

import  model.Student;

import  org.springframework.validation.BindException;
import  org.springframework.web.servlet.ModelAndView;
import  org.springframework.web.servlet.mvc.AbstractCommandController;


/**
 * @@org.springframework.web.servlet.handler.commonsattributes.PathMap("/home.mvc");
 
*/

public   class  FreemarkerHomeController  extends  AbstractCommandController  {


    
protected ModelAndView handle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, BindException arg3) throws Exception {
        
// TODO 自动生成方法存根
        return null;
    }


    
protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
         Student stu1
=new Student();
         stu1.setName(
"gaoxiang1");
         stu1.setSex(
"male1");
         Student stu2
=new Student();
         stu2.setName(
"gaoxiang2");
         stu2.setSex(
"male2");
         List a
=new ArrayList();
         a.add(stu1);
         a.add(stu2);
         System.out.println(a);
         
return new ModelAndView("success","studentList",a);
    }



    
}
  


web.xml

 

<? xml version="1.0" encoding="UTF-8" ?>
< web-app  version ="2.4"  
    xmlns
="http://java.sun.com/xml/ns/j2ee"  
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>
  
< context-param >
    
< param-name > contextConfigLocation </ param-name >
    
< param-value > /WEB-INF/train-servlet.xml </ param-value >
  
</ context-param >
  
< servlet >
    
< servlet-name > train </ servlet-name >
    
< servlet-class > org.springframework.web.servlet.DispatcherServlet </ servlet-class >
    
< load-on-startup > 0 </ load-on-startup >
  
</ servlet >
  
< servlet-mapping >
     
< servlet-name > train </ servlet-name >
     
< url-pattern > *.mvc </ url-pattern >
  
</ servlet-mapping >

   
< listener >
     
< listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class >
   
</ listener >
    
  
< filter >
    
< filter-name > character </ filter-name >
    
< filter-class > Action.CharacterFilter </ filter-class >
  
</ filter >
  
< filter-mapping >
    
< filter-name > character </ filter-name >
    
< url-pattern > /* </ url-pattern >
  
</ filter-mapping >
  
< welcome-file-list >
    
< welcome-file > index.jsp </ welcome-file >
  
</ welcome-file-list >
</ web-app >

 

train-servlet.xml

 

<? xml version="1.0" encoding="UTF-8" ?>
<! DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"  >
< beans >

< bean  id ="simpleUrlMapping"  class ="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" >
 
< property  name ="mappings" >
   
< props >
       
< prop  key ="/freemarker.mvc" > FreemarkerHomeController </ prop >
     
   
</ props >
 
</ property >
</ bean >


< bean  id ="FreemarkerHomeController"  class ="Action.FreemarkerHomeController" >
</ bean >

<!--  freemarker页面解析器 -->  
< bean  id ="viewResolver"  class ="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver" >
  
< property  name ="suffix" >
    
< value > .ftl </ value >
  
</ property >
  
< property  name ="viewClass" >
    
< value > org.springframework.web.servlet.view.freemarker.FreeMarkerView </ value >
  
</ property >
</ bean >

<!--  配置Freemarker  -->
< bean  id ="freemarkerConfigurer"  class ="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer" >
  
< property  name ="templateLoaderPath" >
    
< value > /freemarker/ </ value >
  
</ property >
  
< property  name ="freemarkerSettings" > <!--  如果模板不经常更新,此属性设置更新延迟时间  -->
    
< props >
      
< prop  key ="template_update_delay" > 3600 </ prop >
    
</ props >
  
</ property >
</ bean >

</ beans >

 

执行/freemarker.mvc

结果:

gaoxiang1male1
gaoxiang2male2

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值