Spring Cloud 2.x系列之springboot集成freemarker

原文链接: https://yq.aliyun.com/articles/652695
  • SVN多版本库环境的搭建
  • OAuth 2.0是什么?看这篇文章就够了。
  • 前端 Java Python等资源合集大放送

springboot 中自带的页面渲染工具为thymeleaf ,freemarker这种模板引擎用的也比较多。

一、在spring中springMVC代表着view层组件

二、为什么使用freemarker:简单容易学、逻辑分明

三、freemarker优点:不依赖servlet、网络或者web环境

Spring Cloud 2.x系列之springboot集成freemarker_第1张图片

1、新建maven项目,对应的pom.xml文件如下



   4.0.0
   spring-cloud

   sc-freemarker

   0.0.1-SNAPSHOT

   jar

   sc-freemarker

   http://maven.apache.org



   

      org.springframework.boot

      spring-boot-starter-parent

      2.0.4.RELEASE

   

   

      

        

           org.springframework.cloud

           spring-cloud-dependencies

           Finchley.RELEASE

           pom

           import

        

      

   


   

      

        org.springframework.boot

        spring-boot-starter-web

      


      

        org.springframework.boot

        spring-boot-starter-freemarker

      

   

2、新建配置文件application.yml

server:
  port: 8081


spring:
  application:
    name: sc-freemarker
  freemarker:
    allow-request-override: false
    cache: true
    check-template-location: true
    charset:UTF-8
    content-type: text/html
    expose-request-attributes: false
    expose-session-attributes: false
    suffix: .ftl
    templateEncoding: UTF-8
    templateLoaderPath: classpath:/templates/
    expose-spring-macro-helpers: false

备注:freemarker有哪些配置项可以参考类

org.springframework.boot.autoconfigure.freemarker.FreeMarkerProperties

3、新建一个controller

package sc.freemarker.controller;

import java.util.ArrayList;

import java.util.List;



import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;



import sc.freemarker.model.User;



@Controller

public class FreemarkerController {



   @RequestMapping("/getUser")

   public StringgetUser(Integer id, Model model){

      User u = new User();

      u.setId(1);

      u.setAge(13);

      u.setSex(1);

      u.setUserName("黄金");

      User l = new User();

      l.setId(1);

      l.setAge(23);

      l.setSex(0);

      l.setUserName("白银");

      List friends = newArrayList();

      friends.add(l);

      u.setFriends(friends);

      model.addAttribute("user",u);

      return"getUser";

   }



}

备注:注意最外层的控制层注解只能用@Controller

4、新建模板文件getUser.ftl







Hello World!





      

welcome${user.userName} to freemarker!

年龄: ${user.age}
性别: <#ifuser.sex==0> 女 <#elseifuser.sex==1> 男 <#else> 保密

我的好友:

<#listuser.friends as f> 姓名:${f.userName} , 年龄${f.age}

5、其他项目文件如下图

Spring Cloud 2.x系列之springboot集成freemarker_第2张图片

6、运行FreemarkerApplication.java类,启动项目;并检查启动信息,确认freemarker配置是否生效

Spring Cloud 2.x系列之springboot集成freemarker_第3张图片

7、访问页面http://127.0.0.1:8081/getUser

Spring Cloud 2.x系列之springboot集成freemarker_第4张图片

源码:

https://gitee.com/hjj520/spring-cloud-2.x/tree/master/sc-freemarker

本文作者:java乐园

本文来自云栖社区合作伙伴“JAVA乐园”,了解相关信息可以关注“JAVA乐园

 
  

你可能感兴趣的:(Spring Cloud 2.x系列之springboot集成freemarker)