본문 바로가기

SPRING/Spring 활용

[스프링부트| 스프링부트와 JPA 활용 1 | 웹 애플리케이션 개발 | 프로젝트 환경설정] Veiw 환경 설정, H2 데이터베이스

Hello

안녕하세요. 손님

thymeleaf 템플릿 엔진

thymeleaf 공식 사이트: https://www.thymeleaf.org/
스프링 공식 튜토리얼: https://spring.io/guides/gs/serving-web-content/
스프링부트 메뉴얼: https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/ boot-features-developing-web-applications.html#boot-features-spring-mvc-template-engines

 

스프링 부트 thymeleaf viewName 매핑

  • resources:templates/` +{ViewName}+ `.html`
@Controller // 이 클래스를 Spring MVC의 컨트롤러로 등록한다.
public class HelloController {

    @GetMapping("hello") // HTTP GET 요청을 'hello' 경로로 매핑한다.
    public String hello(Model model) { // 'hello' 경로의 요청을 처리하는 메서드. Model 객체를 파라미터로 받는다.
        model.addAttribute("data", "hello!!"); // Model 객체에 데이터를 추가한다. 뷰에서 'data'로 데이터에 접근할 수 있다.
        return "hello"; // 뷰의 이름을 반환한다. 여기서는 'hello'라는 이름의 뷰를 반환하여, 뷰 리졸버가 처리할 수 있도록 한다.
    }

}
<!DOCTYPE HTML> <!-- HTML5 문서 타입 선언 -->
<html xmlns:th="http://www.thymeleaf.org"> <!-- HTML 시작 태그와 Thymeleaf 네임스페이스 선언 -->
<head> <!-- 헤드 섹션 시작 -->
    <title>Hello</title> <!-- 웹 페이지의 제목 설정 -->
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <!-- 문서의 문자 인코딩을 UTF-8로 설정 -->
</head> <!-- 헤드 섹션 종료 -->
<body> <!-- 바디 섹션 시작 -->
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p> <!-- Thymeleaf 표현식을 사용하여, 'data' 모델 속성 값으로 문단 내용을 동적으로 설정함. 만약 'data' 값이 없다면 기본 텍스트 '안녕하세요. 손님'이 표시됨 -->
</body> <!-- 바디 섹션 종료 -->
</html> <!-- HTML 종료 태그 -->