SpringMVC整合FreeMarker产生模板视图

引入包:


			org.freemarker
			freemarker
			2.3.20
		
第一次引入的包groupId为freemarker,版本2.3.8,报错,改为org.freemarker正常。


配置:



	
	
	
	
	
		
    
    	
    		
       		
            
            
            
            
            
    	
    
    
	
		
			
				
			
		
	      
	          
    
        
            
        
        
            
                com.smart.domain.User
            
        
       
           
    
	
    
	
	
	
		 
            
                true
            
        
	
  	

order指定的优先级中,freeMarker视图高于InternalResource视图,所以系统使用freeMarker解析视图。


接口:

package com.smart.web;

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

import org.springframework.http.HttpEntity;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.smart.domain.User;

@Controller
@RequestMapping("/sp4")
public class Sp4Controller {
	@RequestMapping(value="m1",method=RequestMethod.GET)
	@ResponseBody
	public String m1(){
		return "inm1";
	}
	
	@RequestMapping(value = "/m2",method=RequestMethod.POST)
	public ResponseEntity m2(HttpEntity requestEntity) throws UnsupportedEncodingException {
		User user = requestEntity.getBody();
		System.out.println("######:"+user+"---"+user.getRealName());
		user.setUserId("1000");
		return new ResponseEntity(user, HttpStatus.OK);
	}
	
	@RequestMapping(value="/m3",method=RequestMethod.GET)
	public String m3(ModelMap mm){
		List list = new ArrayList();
		User user = new User();
		user.setUserId("1");
		user.setUserName("zhangsan");
		list.add(user);
		User user1 = new User();
		user1.setUserId("2");
		user1.setUserName("lisi");
		list.add(user1);
		mm.addAttribute("list", list);
		return "suc";
	}
	
	@RequestMapping(value="/m4" ,method=RequestMethod.GET)
	public String m4(ModelMap mm){
		List list = new ArrayList();
		User user = new User();
		user.setUserId("1");
		user.setUserName("zhangsan");
		list.add(user);
		User user1 = new User();
		user1.setUserId("2");
		user1.setUserName("lisi");
		list.add(user1);
		mm.addAttribute("userList", list);
		return "userFtl";
	}
	
}

m4方法;


模板,和配置对应,在/WEB-INF/ftl  下创建 userFtl.ftl文件

<#import "spring.ftl" as spring />

	
		smart
	
	
		用户列表
		
           <#list userList as user>
				
${user.userName} ${user.userId} ${user.userId}

这里使用spring定义的宏,<@spring.url '/user/showUser/${user.userName}.html'/>产生的路径为相对于项目项目部署路径。

你可能感兴趣的:(spring)