일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- JPA
- spring oauth
- java 기술면접
- 백준 17626
- 백준 16236
- sql 기술면접
- 백준 19238
- spring cloud
- JVM
- Spring Boot
- 백준 16235
- 프로래머스
- 백준 15685
- java
- 프로그래머스
- Coroutine
- 백준
- spring security
- MSA
- 백준 17779
- springboot
- 백준 파이썬
- 백준 16719
- 파이썬
- with recursive
- Kotlin
- MySQL
- re.split
- Spring
- 웹어플리케이션 서버
- Today
- Total
시작이 반
[Spring] 3. View 환경 설정 본문
강의 참고 : www.inflearn.com/roadmaps/373
현재는 코드가 아무것도 작성을 하지 않아서 에러페이지가 뜬다..
Welcome Page 만들기
resources/static/index.html
<!DOCTYPE html>
<html>
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello
<a href="/hello">hello</a>
</body>
</html>
statlc/index.html을 올려두면 Welcom page기능을 제공한다.
- 스프링 공식 홈페이지 Welcome page 설명 |
템플릿 엔진 동작
타임리프
thymeleaf 는 자바 라이브러리이며, 웹과 웹이 아닌 환경 양쪽에서 텍스트, HTML, XML, Javascript, CSS 그리고 텍스트를 생성할 수 있는 템플릿 엔진이다
@Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model){
model.addAttribute("data", "hello!!");
return "hello";
}
}
웹 어플리케이션에서 /hello라고 들어오면 맵핑을 해놨기 때문에 public String hello 메소드가 실행이된다.
컨트롤러에서 리턴값으로 문자를 반환하면 viewResolver가 화면을 찾아서 처리한다.
지금 return 이 hello 인데 기본적으로 resources/templates/에서 찾는다.
resources/templates/hello.html
welcome page에서 /hello로 들어가면 controller에서 hello와 맵핑된 메소드가 실행된다.
그 메소드가 리턴값으로 문자를 반환하면 템플릿에서 해당 문자.html을 찾아서 viewResolver가 처리한다.
맵핑된 메소드에서 해당 속성에 맞는 값들을 바꿀수 있다.
model(data:hello!!) 는 hello.html에서 data값이 hello!!로 들어간다는 뜻
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
</body>
</html>
model이 아직 뭔지 잘 모르겠다.???;;
'Programming > Spring' 카테고리의 다른 글
[Spring] 6. 회원 관리 예제(회원 도메인, 리포지토리 만들기, 테스트케이스) (0) | 2021.01.19 |
---|---|
[Spring] 5. API (0) | 2021.01.19 |
[Spring] 4. 정적 컨텐츠, MVC와 템플릿 엔진 (0) | 2021.01.18 |
[Spring] 2. 라이브러리 (0) | 2021.01.08 |
[Spring] 1. 프로젝트 환경설정 (0) | 2021.01.06 |