<html xmlns:th="http://www.thymeleaf.org">
Thymeleaf를 사용하는 웹 페이지에서 XML 네임스페이스를 정의하는 부분
Thymeleaf는 서버 사이드 및 클라이언트 사이드 템플릿 엔진으로 사용되며, th:로 시작하는 속성을 사용하여 템플릿에서 서버 변수 및 표현식을 사용할 수 있음. 이렇게 정의된 네임스페이스는 Thymeleaf 속성을 사용할 때 사용.
<예시> th:text="${pageTitle}"는 서버 변수 pageTitle의 값을 출력하는 Thymeleaf 속성
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Thymeleaf Example</title>
</head>
<body>
<h1 th:text="${pageTitle}">Default Title</h1>
</body>
</html>
회원 웹 기능 - 홈 화면 추가
package hello.hellospring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
@GetMapping("/")
public String home() {
return "home";
}
}
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
<div>
<h1>Hello Spring</h1>
<p>회원 기능</p>
<p>
<a href="/members/new">회원 가입</a>
<a href="/members">회원 목록</a>
</p>
</div>
</div> <!-- /container -->
</body>
</html>
회원등록폼 HTML
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
<form action="/members/new" method="post">
<div class="form-group">
<label for="name">이름</label>
<input type="text" id="name" name="name" placeholder="이름을 입력하세요">
</div>
<button type="submit">등록</button>
</form>
</div> <!-- /container -->
</body>
</html>
회원컨트롤러 조회
@GetMapping(value = "/members")
public String list(Model model) {
List<Member> members = memberService.findMembers();
model.addAttribute("members", members);
return "members/memberList";
}
회원 리스트 HTML **model에 담긴 members th:each
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
<div>
<table>
<thead>
<tr>
<th>#</th>
<th>이름</th>
</tr>
</thead>
<tbody>
<tr th:each="member : ${members}">
<td th:text="${member.id}"></td>
<td th:text="${member.name}"></td>
</tr>
</tbody>
</table>
</div>
</div> <!-- /container -->
</body>
</html> ```
'강의 > Spring' 카테고리의 다른 글
[Spring 입문] 4. 스프링 빈과 의존관계 (1) | 2023.12.11 |
---|---|
[Spring 입문] 3. 회원 도메인 개발 (0) | 2023.12.11 |
[Spring 입문] 2. spring 웹 개발 기초 (0) | 2023.08.08 |
[Spring 입문] 1-2 라이브러리 살펴보기, view 환경설정, 빌드 실행 (0) | 2023.08.07 |
[Spring 입문] 1-1 프로젝트 생성 및 IntelliJ 설치 (0) | 2023.08.06 |