spring boot 配置freemarker及如何使用freemarker渲染頁(yè)面
1.springboot 中自帶的頁(yè)面渲染工具為thymeleaf 還有freemarker 這兩種模板引擎 簡(jiǎn)單比較下兩者不同
1.1freemaker 優(yōu)點(diǎn)
freemarker 不足:thymeleaf由于使用了標(biāo)簽屬性做為語(yǔ)法,模版頁(yè)面直接用瀏覽器渲染,使得前端和后端可以并行開(kāi)發(fā)。freemarket使用</>這樣的語(yǔ)法,就無(wú)法直接使瀏覽器渲染出原本頁(yè)面的樣子。
thymeleaf優(yōu)點(diǎn):
靜態(tài)html嵌入標(biāo)簽屬性,瀏覽器可以直接打開(kāi)模板文件,便于前后端聯(lián)調(diào)。 springboot官方推薦方案。
thymeleaf缺點(diǎn):
模板必須符合x(chóng)ml規(guī)范 比較下兩者
1.從寫(xiě)code的習(xí)慣角度可能freemarker更習(xí)慣于我們的思維。
2.不過(guò)從前后分離開(kāi)發(fā)的角度看thymeleaf更合適,值的綁定都是基于html的dom元素屬性的,適合前后聯(lián)調(diào)。
還是回歸下主題
開(kāi)始編碼:
1.引入pom依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>
2.向yml格式配置文件添加內(nèi)容
spring: freemarker: request-context-attribute: req #req訪問(wèn)request suffix: .html #后綴名 content-type: text/html enabled: true cache: false #緩存配置 template-loader-path: classpath:/templates/ #模板加載路徑 按需配置 charset: UTF-8 #編碼格式 settings: number_format: '0.##' #數(shù)字格式化,無(wú)小數(shù)點(diǎn)
3.測(cè)試接口如圖
4.index文件位置如圖
index 內(nèi)容
5.啟動(dòng)項(xiàng)目如圖
index頁(yè)面渲染成功
網(wǎng)上收集 propertity的freemarker 配置 (propertity格式配置文件)
# FREEMARKER (FreeMarkerAutoConfiguration)
spring.freemarker.allow-request-override=false # Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.
spring.freemarker.allow-session-override=false # Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.
spring.freemarker.cache=false # Enable template caching.
spring.freemarker.charset=UTF-8 # Template encoding.
spring.freemarker.check-template-location=true # Check that the templates location exists.
spring.freemarker.content-type=text/html # Content-Type value.
spring.freemarker.enabled=true # Enable MVC view resolution for this technology.
spring.freemarker.expose-request-attributes=false # Set whether all request attributes should be added to the model prior to merging with the template.
spring.freemarker.expose-session-attributes=false # Set whether all HttpSession attributes should be added to the model prior to merging with the template.
spring.freemarker.expose-spring-macro-helpers=true # Set whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".
spring.freemarker.prefer-file-system-access=true # Prefer file system access for template loading. File system access enables hot detection of template changes.
spring.freemarker.prefix= # Prefix that gets prepended to view names when building a URL.
spring.freemarker.request-context-attribute= # Name of the RequestContext attribute for all views.
spring.freemarker.settings.*= # Well-known FreeMarker keys which will be passed to FreeMarker's Configuration.
spring.freemarker.suffix= # Suffix that gets appended to view names when building a URL.
spring.freemarker.template-loader-path=classpath:/templates/ # Comma-separated list of template paths.
spring.freemarker.view-names= # White list of view names that can be resolved.
另外需要使用thymeleaf 可以使用如下配置(yml 格式配置文件方式)
##視圖模型 spring: thymeleaf: prefix: classpath:/templates/ suffix: .html cache: false encoding: utf-8 content-type: text/html check-template-location: true
到此這篇關(guān)于spring boot 配置freemarker及使用freemarker渲染頁(yè)面的文章就介紹到這了,更多相關(guān)spring boot 配置freemarker內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于springboot中的自定義配置項(xiàng)
這篇文章主要介紹了關(guān)于springboot中的自定義配置項(xiàng),在項(xiàng)目開(kāi)發(fā)的過(guò)程中,經(jīng)常需要自定義系統(tǒng)業(yè)務(wù)方面的配置文件及配置項(xiàng),Spring Boot提供了@value注解、@ConfigurationProperties注解和Environment接口等3種方式自定義配置項(xiàng),需要的朋友可以參考下2023-07-07關(guān)于SpringCloudStream配置問(wèn)題
這篇文章主要介紹了關(guān)于SpringCloudStream配置問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12新手入門(mén)學(xué)習(xí)Spring Freemarker教程解析
這篇文章主要介紹了新手入門(mén)學(xué)習(xí)Freemarker教程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10Java如何按16進(jìn)制發(fā)送和接收TCP指令
這篇文章主要介紹了Java如何按16進(jìn)制發(fā)送和接收TCP指令問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Spring中Bean對(duì)象的定義、注冊(cè)和獲取流程分析
這篇文章主要介紹了Spring中Bean對(duì)象的定義、注冊(cè)和獲取流程分析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06