最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot如何集成模板引擎FreeMarker

 更新時間:2019年10月24日 09:29:56   作者:楊小格子  
這篇文章主要介紹了Spring Boot如何集成模板引擎FreeMarker,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一、Java模板引擎

模板引擎(這里特指用于Web開發(fā)的模板引擎)是為了使用戶界面與業(yè)務數(shù)據(jù)(內(nèi)容)分離而產(chǎn)生的,它可以生成特定格式的文檔,用于網(wǎng)站的模板引擎就會生成一個標準的HTML文檔。

在java中,主要的模板引擎有JSP、Thymeleaf、FreeMarker、Velocity等。

雖然隨著前后端分離的崛起和流行,模板引擎已遭受到冷落,但不少舊項目依然使用java的模板引擎渲染界面,而偶爾自己寫一些練手項目,使用模板引擎也比起前后端分離要來的快速。

本系列會分別講解SpringBoot怎么集成JSP、Thymeleaf和FreeMarker,至于Velocity,高版本的SpringBoot已經(jīng)不支持Velocity了,這里也就不進行講解了。

而這一篇,主要講解Spring Boot如何集成FreeMarker。

二、Spring Boot集成FreeMarker

首先我們要引入依賴,除了核心的web依賴外,只需引入freemarker的statrer即可。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--freemarker依賴-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

然后就是配置文件了。主要配置spring.freemarker節(jié)點下的視圖文件目錄template-loader-path以及文件后綴suffix,如果是本地開發(fā),cache可以設置為false關(guān)閉緩存,避免修改文件后需要重新啟動服務。

server:
 port: 10900

spring:
 profiles:
  active: dev
 freemarker:
  enabled: true #是否啟用freemarker
  template-loader-path: classpath:/templates/ #設定模板的加載路徑,多個以逗號分隔
  suffix: .ftl #設定模板的后綴
  content-type: text/html
  check-template-location: true #是否檢查模板位置是否存在
  cache: false #是否啟用模板緩存
  charset: UTF-8 #模板編碼
  #一些常用配置
  allow-request-override: false #是否允許HttpServletRequest屬性覆蓋(隱藏)控制器生成的同名模型屬性
  allow-session-override: false #是否允許HttpSession屬性覆蓋(隱藏)控制器生成的同名模型屬性
  expose-request-attributes: false #設定所有request的屬性在merge到模板的時候,是否要都添加到model中
  expose-session-attributes: false #是否在merge模板的時候,將HttpSession屬性都添加到model中
  expose-spring-macro-helpers: true #設定是否以springMacroRequestContext的形式暴露RequestContext給Spring's macro library使用
  prefer-file-system-access: true #是否優(yōu)先從文件系統(tǒng)加載template,以支持熱加載,默認為true

然后resoucres目錄下新建templates目錄,分別新建了hello.ftl和mv.ftl文件。

<h3>hello freemarker</h3>
<!DOCTYPE html>
<html lang="en">
  <h3>mv freemarker</h3>
  <span>I'm ${name} from mv method</span>
</html>

這里主要講解如何集成FreeMarker,不對FreeMarker語法做過多的講解,所以僅僅提供了兩個簡單的html文件作為演示。

接著再創(chuàng)建Controller類路由頁面,該類十分簡單,跳轉(zhuǎn)hello頁面,以及攜帶name=imyang跳轉(zhuǎn)mv頁面。

@Controller
@RequestMapping("index")
public class IndexApi {

  @RequestMapping("/hello")
  public String hello(){
    return "hello";
  }

  @RequestMapping("/mv")
  public ModelAndView mv(){
    ModelAndView mv = new ModelAndView("mv");
    mv.addObject("name","yanger");
    return mv;
  }

}

啟動項目,分別訪問http://localhost:10900/index/hello和http://localhost:10900/index/mv,可以看到已經(jīng)可以展示頁面信息了。

源碼地址:https://github.com/imyanger/springboot-project/tree/master/p19-springboot-freemarker

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring AOP結(jié)合注解實現(xiàn)接口層操作日志記錄

    Spring AOP結(jié)合注解實現(xiàn)接口層操作日志記錄

    在項目開發(fā)中我們需要記錄接口的操作日志:包含請求參數(shù)、響應參數(shù)、接口所屬模塊、接口功能描述、請求地址、ip地址等信息;實現(xiàn)思路很簡單就是基于注解和aop的方式去記錄日志,主要的難點在于日志表結(jié)構(gòu)、注解的設計已經(jīng)aop實現(xiàn)的一些比較好的實現(xiàn)方式的借鑒
    2022-08-08
  • java equals和==的區(qū)別詳解

    java equals和==的區(qū)別詳解

    這篇文章主要介紹了java equals和==的區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • spring中@autowired、@Qualifier、@Primary注解的使用說明

    spring中@autowired、@Qualifier、@Primary注解的使用說明

    這篇文章主要介紹了spring中@autowired、@Qualifier、@Primary注解的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java中自定義類的實現(xiàn)詳解

    Java中自定義類的實現(xiàn)詳解

    自定義類是Java中最基本、也是最重要的組成部分之一,使用者可以根據(jù)需求創(chuàng)建自己的數(shù)據(jù)類型,從而更加高效地構(gòu)建程序,本文就來為大家詳細講講Java中自定義類的實現(xiàn)與使用吧
    2023-05-05
  • SpringMVC @ResponseBody 415錯誤處理方式

    SpringMVC @ResponseBody 415錯誤處理方式

    這篇文章主要介紹了SpringMVC @ResponseBody 415錯誤處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程

    Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程

    這篇文章主要介紹了Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程,MyBatis一般被用來增強數(shù)據(jù)庫操作,文中對MyBatis的主配置文件有較為詳細的講解,需要的朋友可以參考下
    2016-04-04
  • SpringBoot如何通過配置文件(yml,properties)限制文件上傳大小

    SpringBoot如何通過配置文件(yml,properties)限制文件上傳大小

    這篇文章主要介紹了SpringBoot如何通過配置文件(yml,properties)限制文件上傳大小,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Spring中的spring.factories文件用法(Spring如何加載第三方Bean)

    Spring中的spring.factories文件用法(Spring如何加載第三方Bean)

    這篇文章主要介紹了Spring中的spring.factories文件用法(Spring如何加載第三方Bean),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java實現(xiàn)控制小數(shù)精度的方法

    Java實現(xiàn)控制小數(shù)精度的方法

    這篇文章主要介紹了Java實現(xiàn)控制小數(shù)精度的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 詳解Java類動態(tài)加載和熱替換

    詳解Java類動態(tài)加載和熱替換

    本文主要介紹類加載器、自定義類加載器及類的加載和卸載等內(nèi)容,并舉例介紹了Java類的熱替換。
    2021-05-05

最新評論

若尔盖县| 武宁县| 扬州市| 汤原县| 湟源县| 江口县| 漳平市| 岐山县| 金华市| 潢川县| 忻州市| 双鸭山市| 广河县| 祁门县| 德庆县| 吉林市| 无棣县| 夏津县| 咸丰县| 东乡| 茌平县| 沂源县| 兴国县| 文登市| 武汉市| 天长市| 赤峰市| 洛宁县| 福州市| 莱州市| 张家港市| 萍乡市| 磴口县| 娄烦县| 综艺| 博湖县| 太保市| 南皮县| 香港| 宽城| 西峡县|