상세 컨텐츠

본문 제목

Spring Boot으로 웹 출시까지 #2. thymeleaf를 이용한 화면 작성

Java/코딩의 신

by Gopythor 2023. 11. 1. 16:09

본문

728x90
반응형

Spring Boot의 JSP를 대체하는 새로운 템플릿 엔진 Thyemelaf
- 표준 HTML 문법으로 작성하는 새로운 템플릿 엔진
- 퍼블리셔와 손쉽게 협업 가능한 Spring Boot 프로젝트 구성
- 강력한 HTML 코드 편집기 vscode를 이용한 LiveServer 설치

Spring Boot부터 Thyemelaf 사용이 권장.

기존 HTML표준 문법 준수

웹 기동 없이 타입리프 파일 열어도 화면이 그대로 표시.

확장자도 JSP가 아닌 HTML로.

 

th라는 name space를 지정해서, 서버가 기동됐을 때는 그 속성을 이용.

html안에 있는 내용 조작 가능.

디자이너와 협업할 때 좋음.

 

 

 

maven을 사용할 것이다.

3가지 추가 됨.

기본적인 골격이 만들어짐.

 

thymeleaf 용 html파일 생성

 

greeting 파일 생성

 

GetMapping하면 컨트롤러로 들어온다.

파라미터로 name을 줄 수 있다. 

기본값 world.

model에는 name.

Model로 정의하면 key value 값을 넣을 수 있다.

 

String을 return하면 template 폴더의 greeting.html이 화면에 보여지게 됨.

 

https://spring.io/guides/gs/serving-web-content/

package com.example.servingwebcontent;

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 GreetingController {

	@GetMapping("/greeting")
	public String greeting(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) {
		model.addAttribute("name", name);
		return "greeting";
	}

}

파라미터를 선언하면, URL전달 될 때 들어감.

greeting에서 name의 키벨류 사용.

 

경로에 th name 스페이스 지정함.

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head> 
    <title>Getting Started: Serving Web Content</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <p th:text="|Hello, ${name}!|" />
</body>
</html>

비쥬얼 스튜디오에서 live server를 설치하면 실시간으로 볼 수 있음.

 

https://www.youtube.com/watch?v=gSTmoremRBU

728x90
반응형

관련글 더보기

댓글 영역