【SpringBoot教程四】:SpringBoot+FreeMark模板引擎

时间:2022-08-24 09:15:27

SpringBoot+FreeMark模板引擎


最近项目有点忙,一直没有时间过来发博客。。。趁现在周末,赶快写


一. Spring boot 在spring默认基础上,自动配置添加了以下特性:

1. 包含了ContentNegotiatingViewResolver和BeanNameViewResolver beans。

2. 对静态资源的支持,包括对WebJars的支持。

3. 自动注册Converter,GenericConverter,Formatter beans。

4. HttpMessageConverters的支持。

5. 自动注册MessageCodeResolver。

6. 对静态index.html的支持。

7. 对自定义Favicon的支持。

8. 主动使用ConfigurableWebBindingInitializer bean


二.关于模板引擎

有如下选择:
FreeMark  、 Thymeleaf 、 Velocity (1.4版本之后弃用,Spring Framework 4.3版本之后弃用)
JSP的缺点:

注:jsp应该尽量避免使用,原因如下:

1. jsp只能打包为:war格式,不支持jar格式,只能在标准的容器里面跑(tomcat,jetty都可以)

2. 内嵌的Jetty目前不支持JSPs

3. Undertow不支持jsps

4. jsp自定义错误页面不能覆盖spring boot 默认的错误页面


三、依赖pom.xml


               <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
上面是sringboot 和freemark的整合包


四、加入静态模板页面,以及静态页面

【SpringBoot教程四】:SpringBoot+FreeMark模板引擎 
如上图 静态 css js images 加入 static 模板页面加入 templates文件夹下

WebController.java
package com.lyw.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/web")
public class WebController {

@RequestMapping
public String index(ModelMap map){
map.put("title", "HelloWorld");
return "index";
}

}

Application.java
package com.lyw;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}