티스토리 뷰
현재의 벡엔드 개발은 MVC : Model, View, Controller 방식으로 개발을 한다.
- 컨트롤러는 모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다. (예: 워드 프로세서에서 문서를 편집하는 것) 또, 컨트롤러가 관련된 뷰에 명령을 보냄으로써 모델의 표시 방법을 바꿀 수 있다. (문서를 스크롤하는 것)
- 모델은 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이와 같은 통보를 통해서 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다. 어떤 MVC 구현에서는 통보 대신 뷰나 컨트롤러가 직접 모델의 상태를 읽어 오기도 한다.
- 뷰는 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어 온다.
이번에는 직접 컨트롤러를 만들어 보겠다.
@Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model){
model.addAttribute("data", "spring");
return "hello";
}
//새로 추가된 코드
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model mode){
model.addAttribute("name", name);
return "hello-template";
}
}
}
기존의 HelloController에 추가로 입력을 해주자.
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}"></p>
</body>
코드를 추가해준 뒤에 templates 폴더에 hello-template.html 파일을 생성해주자
http://localhost:8080/hello-mvc?name=jaeguin! 로 해야 작동하는 이유는
컨트롤러에서 name이 Jaeguin으로 넘어가고
html에서 +${name} 때문에 Jaeguin을 주소창에 쳐주면 넘어간다
'Spring Boot' 카테고리의 다른 글
Spring Boot Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. (0) | 2022.02.03 |
---|---|
[JAVA Spring] API (0) | 2021.01.25 |
[JAVA Spring] View 환경설정 (0) | 2021.01.25 |
[JAVA Spring] 프로젝트 생성 (0) | 2021.01.22 |
IntelliJ 'Module SDK is not defined' 에러 해결방법 (0) | 2021.01.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크