javascript
spring mvc 渲染html,在Spring MVC中使用Thymeleaf模板渲染Web视图
Thymeleaf模板是原生的,不依賴于標簽庫。它能在接受原始HTML的地方進行編輯和渲染。由于沒有與Servlet規范耦合,因此Thymeleaf模板能夠進入JSP所無法涉及的領域
如果想要在Spring MVC項目中使用Thymeleaf模板,那么只需要做到以下幾步即可:
(1)配置使用Thymeleaf模板渲染Web視圖:
在沒有配置各種模板渲染技術之前,通常我們會這樣配置:
1
2
3
4
因此現在首先需要注釋掉上面的配置,同時使用JavaConfig來引入Thymeleaf模板渲染Web視圖:
Java
package cn.zifangsky.config;
import javax.servlet.ServletContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.thymeleaf.spring4.SpringTemplateEngine;
import org.thymeleaf.spring4.view.ThymeleafViewResolver;
import org.thymeleaf.templateresolver.ServletContextTemplateResolver;
/**
* 使用Thymeleaf模板渲染Web視圖
* @author zifangsky
*
*/
@Configuration
public class TemplateConfig {
@Bean
public ServletContextTemplateResolver templateResolver(ServletContext servletContext){
ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver(servletContext);
templateResolver.setPrefix("/WEB-INF/templates/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
templateResolver.setCharacterEncoding("UTF-8");
return templateResolver;
}
@Bean
public SpringTemplateEngine templateEngine(ServletContextTemplateResolver templateResolver){
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
return templateEngine;
}
@Bean
public ViewResolver viewResolver(SpringTemplateEngine templateEngine){
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine);
viewResolver.setCharacterEncoding("UTF-8");
return viewResolver;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49packagecn.zifangsky.config;
importjavax.servlet.ServletContext;
importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
importorg.springframework.web.servlet.ViewResolver;
importorg.thymeleaf.spring4.SpringTemplateEngine;
importorg.thymeleaf.spring4.view.ThymeleafViewResolver;
importorg.thymeleaf.templateresolver.ServletContextTemplateResolver;
/**
* 使用Thymeleaf模板渲染Web視圖
* @author zifangsky
*
*/
@Configuration
publicclassTemplateConfig{
@Bean
publicServletContextTemplateResolvertemplateResolver(ServletContextservletContext){
ServletContextTemplateResolvertemplateResolver=newServletContextTemplateResolver(servletContext);
templateResolver.setPrefix("/WEB-INF/templates/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
templateResolver.setCharacterEncoding("UTF-8");
returntemplateResolver;
}
@Bean
publicSpringTemplateEnginetemplateEngine(ServletContextTemplateResolvertemplateResolver){
SpringTemplateEnginetemplateEngine=newSpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
returntemplateEngine;
}
@Bean
publicViewResolverviewResolver(SpringTemplateEnginetemplateEngine){
ThymeleafViewResolverviewResolver=newThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine);
viewResolver.setCharacterEncoding("UTF-8");
returnviewResolver;
}
}
注:這里還需要在Spring MVC的配置文件中配置自動掃描上面的JavaConfig所在的包,也就是:
XHTML
1
(2)定義一個簡單模板home.html:
從上面的配置可知,需要將模板文件放置到/WebContent/WEB-INF/templates/home.html路徑下,其內容如下:
XHTML
標題Hello
The year is 1949.
1
2
3
4
5
6
7
8
9
10
11
12
13
標題
Hello
The year is1949.
總結
以上是生活随笔為你收集整理的spring mvc 渲染html,在Spring MVC中使用Thymeleaf模板渲染Web视图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘提示写保护怎么办 U盘写保护解除方法
- 下一篇: gradle idea java ssm