반응형
Spring Boot Thymeleaf 예제
스프링부트 타임리프 테스트 예제 페이지 생성
환경
- IDE : IntelliJ
- JDK : openjdk 15
- Spring Boot v2.4.0
1. 스프링 이니셜라이즈 선택
2. 그룹과 아티팩트 입력
3. 종속성 선택에서 아래 항목 선택
- Spring Boot DevTools
- Lombok
- Spring Configuration Processor
- Spring Web
- Thymeleaf
4. 프로젝트명 입력 후 Finish
5. 생성된 폴더 구성과 pom.xml 파일
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>thymeleaf</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>thymeleaf</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
6. 스프링 MVC 컨트롤러 생성 후 hello 메소드 만들기
- get 방식으로 / 또는 /hello를 호출시 실행되는 hello 메소드
- 인자값으로 name을 받고, 값이 넘어오지 않을 경우 World로 지정
- 화면으로 넘길 model에 name 이름으로 저장
package com.example.thymeleaf.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class HelloController {
@GetMapping({"/", "/hello"})
public String hello(@RequestParam(value="name", defaultValue="World", required = true)
String name, Model model) {
model.addAttribute("name", name);
return "hello";
}
}
7. 타임리프 페이지 생성 resources/templates 폴더 아래에 생성
- 화면에 text 표시 값은 Hello, 와 controller에서 받은 값(name) 출력
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>
8. 실행하여 결과 확인 (Shift+F10)
반응형
'개발 > spring, spring boot' 카테고리의 다른 글
[String Boot] 컴포넌트 스캔 개념 (0) | 2021.06.30 |
---|---|
[String Boot] 배너 변경 (0) | 2021.06.24 |
[Spring Boot] jsp 사용하기 (0) | 2021.01.17 |
[Spring Boot] Undertow 사용하기 (maven, gradle 3.x) (0) | 2021.01.17 |
[spring 에러] BeanDefinitionStoreException - probably due to a new Java class file version that isn't supported yet (0) | 2021.01.17 |
댓글