Spring 4.3.3 기준 Thymeleaf 3.0.2 설정
1. 메이븐 Thymeleaf 의존성 라이브러리 추가
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring4</artifactId>
<version>3.0.2.RELEASE</version>
</dependency>
2. 스프링에 Thymeleaf 빈 설정
@Autowired
private ApplicationContext applicationContext;
@Bean
public SpringResourceTemplateResolver templateResolver(){
SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
templateResolver.setApplicationContext(this.applicationContext);
templateResolver.setPrefix("/WEB-INF/templates/"); // HTML 파일 위치
templateResolver.setSuffix(".html"); // HTML 확장명 사용
templateResolver.setTemplateMode(TemplateMode.HTML); // HTML5 값은 비권장 됨
templateResolver.setCacheable(false); // 캐시 사용 안함(사용하면 html 수정시 서버 재기동 필요)
return templateResolver;
}
@Bean
public SpringTemplateEngine templateEngine(){
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver());
templateEngine.setEnableSpringELCompiler(true); // Spring EL 사용
return templateEngine;
}
@Bean
public ThymeleafViewResolver viewResolver(){
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setCharacterEncoding("UTF-8"); // 한글 깨짐 방지
viewResolver.setTemplateEngine(templateEngine());
return viewResolver;
}
Thymeleaf 설정은 위가 전부다.
3. 컨트롤러 작성
@Controller
public class HomeController {
@RequestMapping(value = "/home", method = RequestMethod.GET)
public String home(Model model) {
model.addAttribute("list", ImmutableList.of("aaa", "bbb"));
model.addAttribute("name", "World");
return "home/home";
}
}
4. HTML 작성
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
</head>
<body>
<h2>Thymeleaf</h2>
<div>
<h2 th:text="'Hello ' + ${name} + '!'"></h2>
<table border="1">
<thead>
<tr>
<th>값</th>
</tr>
</thead>
<tbody>
<tr th:each="data : ${list}">
<td th:text="${data}"></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
Thymeleaf 설정은 다른 템플릿(Velocity, Freemarker 등)과 같이 간단하다.
이제 사용법을 익히면 된다.
끝.
'Spring' 카테고리의 다른 글
Spring REST Docs 사용법 (0) | 2017.04.23 |
---|---|
Spring ehcache 설정 (0) | 2016.12.12 |
Spring 4.3.2 log4jdbc-log4j2 설정 방법 (1) | 2016.09.29 |
Springfox 설정 (0) | 2016.09.25 |
Spring 4.3.2 자바 annotation 기반 설정 (0) | 2016.09.21 |
댓글