天天看點

SpringBoot學習記錄(三):SpringBoot整合Freemarker模闆

Freemarker模闆簡介

官方解釋:FreeMarker 是一款模闆引擎, 即一種基于模闆和要改變的資料, 并用來生成輸出文本(HTML網頁,電子郵件,配置檔案,源代碼等)的通用工具。

其實Freemarker的原理就是:模闆+資料模型=輸出

在SpringBoot項目中使用Freemarker模闆

1、搭建環境

在pom.xml檔案中導入資源

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

或者可以在SpringBoot項目建構時勾選Freemarker模闆 如圖:

SpringBoot學習記錄(三):SpringBoot整合Freemarker模闆

勾選後會自動下載下傳jar包并在pom檔案中使用

SpringBoot學習記錄(三):SpringBoot整合Freemarker模闆

2、在配置檔案配置Freemarker

yaml檔案配置方式:

spring:
  freemarker:
    suffix: .html

           

properties檔案配置方式:

spring.freemarker.suffix= .html
           

3、在templates檔案夾中建立html模闆

SpringBoot學習記錄(三):SpringBoot整合Freemarker模闆

用例測試 :

java 代碼

@Controller
@RequestMapping("/index/")
public class StudentController {

	@RequestMapping("test")
	public String test(Model model) {
		
		//傳入一個字元串
		model.addAttribute("test","Hellow Spring boot Freemarker!!");
		
		//傳入對象
		Student stu = new Student(101, "張三");
		model.addAttribute("stu",stu);
		
		//傳入集合
		List<Object> list = new ArrayList<Object>();
		list.add(new Student(102, "李四"));
		list.add(new Student(103,"王五"));
		model.addAttribute("list",list);
		
		
		return "test";
	}
}

           

html 代碼

<body>

	<!-- 渲染字元串 -->
	${test}</br>
	
	<!-- 渲染對象 -->
	<!-- if stu?? 表示如果stu存在 則渲染下面代碼 否則渲染else标簽下的代碼 -->
	<#if stu??>
			編号:${stu.id}
			名字:${stu.name}</br>
		<#else>
			else
	</#if>
	
	<!-- 渲染集合 list标簽 類似于java中的增強for循環 -->
	<#list list as s>
		編号:${s.id}
		名字:${s.name}</br>
	</#list>
	
</body>
           

測試結果 如圖

SpringBoot學習記錄(三):SpringBoot整合Freemarker模闆

當然html檔案不一定要放在templates檔案夾下 。那麼如何更換檔案的存放位置呢?

解決方法 : 可以在配置檔案中加入這段代碼:

yaml檔案配置:

spring:
  freemarker:
    suffix: .html
    template-loader-path: classpath:/web
           

properties檔案配置

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

測試:

SpringBoot學習記錄(三):SpringBoot整合Freemarker模闆
SpringBoot學習記錄(三):SpringBoot整合Freemarker模闆

那麼 如何在html檔案中引入其他架構呢 如:jquery 、js 、 css 這些呢

這裡我們用jquery來舉例

方法1——直接使用

直接将jar檔案放入static檔案夾下 然後在html檔案夾中引用即可 大家都很熟悉了,這裡就不做示範了。

方法2——webjar

什麼是webjar

webjar是将前端資源整合的一個jar包,可以使用maven部署引用在項目中,對資源進行統一管理。

官網:webjar官網

使用方法:

1、在pom檔案中引入依賴:

<dependency>
			<groupId>org.webjars</groupId>
			<artifactId>jquery</artifactId>
			<version>3.4.1</version>
</dependency>
           
SpringBoot學習記錄(三):SpringBoot整合Freemarker模闆

2、在html檔案中引用

編寫js代碼 測試:

<script type="text/javascript">
	$("#btn").click(function(){
		alert("click");
	})
</script>
           

測試結果 如圖:

SpringBoot學習記錄(三):SpringBoot整合Freemarker模闆

繼續閱讀