G:\spring\hello-spring\src\main\resources\templates\hello-template.html
에 넣는 html로써,
템플릿이란
템플릿 프로세서를 사용하여 웹 템플릿을 결합하여 완성된 웹페이지.
라고 하는데 서버가 뭔가 html을 뭔가 바꾸어서 보내준다고 하니 spring에서 서버와 연동해서 뭔가 html을 바꾼다는 그런 뜻인거 같다.
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</html>
<p th:text="'hello ' + ${name}">hello! empty</p>
여기 이 부분에서 hello! empty가
name을 받을 경우
'hello ' + ${name}"
로 대체된다.
일단, 기본적으로 Spring은 MVC 방식을 씀.
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model){
model.addAttribute("name", name);
return "hello-template";
}
위는 컨트롤러 파일 내에 만든 코드임.
name으로 받은 걸 String name에 넣고, 그걸 코드처럼 모델에 넣고, return 시키면 th= ${name} 저 부분에서 실행
저렇게 return "hello-template";
하면 hello-template.html 대상으로 실행.
localhost:8080/hello-mvc
하면 위 함수 실행.
근데, 저기서 RequestParm이 있음.
이거는 저거 하면서 값을 넘겨줘야 하는 이야기.
일단 지금은 GET 방식 같음.
localhost:8080/hello-mvc?name=spring!
이런 식으로 넘김.
이렇게 안넘기면 에러남.
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam(value = "name", required = false) String name, Model model){
model.addAttribute("name", name);
return "hello-template";
}
이렇게, required를 false로 하면 안넘겨도 됨.
해보니까 그냥 hello null로 뜸
여튼 넘기면, 앞의 html name에 받아서 실행.
이렇게, html을 변환 후 웹브라우저에 넘겨줌
'스프링 > 0. 입문, 전체방향' 카테고리의 다른 글
7강 회원관리 예제 (0) | 2023.07.06 |
---|---|
6강 API 방식으로 데이터 주기 (0) | 2023.07.06 |
4. 웹개발 기초 (0) | 2023.07.06 |
3. 빌드 (0) | 2023.07.06 |
2장 thymeleaf (0) | 2023.07.05 |