使用Freemarker模板引擎渲染web视图

在Web前端的学习中我们会应用多种的模板引擎来快速的完成动态网站的开发,下面就给大家详细的讲解一下使用Freemarker模板引擎渲染web视图的应用方法。

1.3.1、pom文件引入:

<!-- 引入freeMarker的依赖包. -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-freemarker</artifactId>

</dependency>

1.3.2、后台代码

在src/main/resources/创建一个templates文件夹,后缀为*.ftl

            @RequestMapping("/index")

         public String index(Map<String, Object> map) {

             map.put("name","美丽的天使...");

            return "index";

         }

 

1.3.3、前台代码

 

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8" />

<title></title>

</head>

<body>

              ${name}

</body>

</html>

1.3.4、Freemarker其他用法

@RequestMapping("/freemarkerIndex")

            public String index(Map<String, Object> result) {

                       result.put("name", "zhaocong");

                       result.put("sex", "0");

                       List<String> userlist = new ArrayList<String>();

                       userlist .add("zhangsan");

                       userlist .add("lisi");

                       userlist .add("atguigu");

                       result.put("userlist ", userlist );

                       return "index";

            }

 

<!DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8" />

<title>首页</title>

</head>

<body>

         ${name}

<#if sex=="1">

           

      <#elseif sex=="2">

           

     <#else>

        帅气的boy 

           </#if>       

          <#list userlist as user>

            ${user}

          </#list>

</body>

</html>

 

1.3.5、Freemarker配置

新建application.properties文件

########################################################

###FREEMARKER (FreeMarkerAutoConfiguration)

########################################################

spring.freemarker.allow-request-override=false

spring.freemarker.cache=true

spring.freemarker.check-template-location=true

spring.freemarker.charset=UTF-8

spring.freemarker.content-type=text/html

spring.freemarker.expose-request-attributes=false

spring.freemarker.expose-session-attributes=false

spring.freemarker.expose-spring-macro-helpers=false

#spring.freemarker.prefix=

#spring.freemarker.request-context-attribute=

#spring.freemarker.settings.*=

spring.freemarker.suffix=.ftl

spring.freemarker.template-loader-path=classpath:/templates/

#comma-separated list

#spring.freemarker.view-names= # whitelist of view names that can be resolved