首页 > 编程 > Java > 正文

springboot 整合 freemarker代码实例

2019-11-26 08:29:24
字体:
来源:转载
供稿:网友

这篇文章主要介绍了springboot 整合 freemarker代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

依赖

<parent>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-parent</artifactId>  <version>2.1.6.RELEASE</version></parent><dependencies>  <dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-freemarker</artifactId>  </dependency>  <dependency>    <groupId>org.projectlombok</groupId>    <artifactId>lombok</artifactId>  </dependency>  <dependency>    <groupId>com.squareup.okhttp3</groupId>    <artifactId>okhttp</artifactId>    <version>3.9.1</version>  </dependency>  <dependency>    <groupId>commons-io</groupId>    <artifactId>commons-io</artifactId>    <version>2.6</version>  </dependency>  <dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId>  </dependency>  <dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-test</artifactId>  </dependency></dependencies>

application.yml

application 参数路径

server: port: 8001spring: application:  name: test-freemarker freemarker:  cache: false  settings:   template_update_delay: 0  template-loader-path: classpath:/templates/

启动类

@SpringBootApplicationpublic class FreemarkerApplication {  public static void main(String[] args) {    SpringApplication.run(FreemarkerApplication.class, args);  }  @Bean  public RestTemplate restTemplate(){    return new RestTemplate(new OkHttp3ClientHttpRequestFactory());  }}

模板文件

<!DOCTYPE html><!-- resources/templates/test2.ftl --><html><head lang="en">  <meta charset="UTF-8"/>  <title></title></head><body>  <table>    <tr>      <td>序号</td>      <td>姓名</td>      <td>年龄</td>      <td>金钱</td>      <td>出生日期</td>    </tr>    <#if students??>      <#list students as stu>        <tr>          <td>${stu_index}</td>          <td <#if (stu.name == '刘备')>style="background-color: #108cee"</#if> >${stu.name}</td>          <td <#if (stu.age < 20)>style="background-color: #108cee"</#if>>${stu.age}</td>          <td>${stu.money}</td>          <td>${stu.birthday?date},${stu.birthday?time},${stu.birthday?string("yyyy年MM月dd日")}</td>        </tr>      </#list>    </#if>  </table>姓名:${stuMap['stu1'].name}年龄: ${stuMap.stu1.age}<#list stuMap?keys as k>  姓名: ${stuMap[k].name}  年龄: ${stuMap[k].age}</#list>${stuMap???c}//判断是否存在,和使用 ?c 输出字符串${students???c}${(mozq.bank.address)!'中国建设银行'}//默认值方式处理空值${students?size}//集合大小<#assign text="{'bank':'中国农业银行', 'address':'北大街'}"><#assign data=text?eval>开户行: ${data.bank} 地址: ${data.address}${123456123?c}//不显示逗号分隔${123456123}//默认显示逗号分隔</body></html>
<!DOCTYPE html><!-- resources/templates/index_banner.ftl --><html lang="en">  <head>    <meta charset="UTF-8">    <title>Title</title>  </head>  <body>    <div class="banner-roll">      <#if model??>        <#list model as item>          <div class="item" style="background-image: url(${item.value});"></div>          </#list>        </#if>    </div>    </div>  <script type="text/javascript">    //...  </script>  </body></html>

Controller

package com.mozq.springboot.freemarker.controller;import com.mozq.springboot.freemarker.model.Student;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.ResponseEntity;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.client.RestTemplate;import java.util.*;@Controller //注意不要使用 @RestController@RequestMapping("/freemarker")public class FreeMarkerController {  @Autowired  private RestTemplate restTemplate;  @RequestMapping("/banner")  public String banner(Map<String,Object> map){    String dataUrl = "http://localhost:31001/cms/config/getmodel/5a791725dd573c3574ee333f";    ResponseEntity<Map> entity = restTemplate.getForEntity(dataUrl, Map.class);    Map body = entity.getBody();    map.putAll((Map<? extends String, ?>) body);    //    restTemplate.getForEntity("")    return "index_banner";  }  @RequestMapping("/test2")  public String test2(Map<String,Object> map){    Student stu1 = new Student();    stu1.setName("刘备");    stu1.setAge(18);    stu1.setBirthday(new Date());    stu1.setMoney(22225.8F);    Student stu2 = new Student();    stu2.setName("孙权");    stu2.setAge(20);    stu2.setBirthday(new Date());    stu2.setMoney(24525.8F);    stu2.setBestFriend(stu1);    List<Student> students = new ArrayList<>();    students.add(stu1);    students.add(stu2);    //模板使用的数据    map.put("students", students);    HashMap<String, Student> stuMap = new HashMap<>();    stuMap.put("stu1", stu1);    stuMap.put("stu2", stu2);    map.put("stuMap", stuMap);    //返回模板的位置,基于 resources/templates    return "test2";  }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表