반응형
스프링부트, Thymeleaf를 사용하여 개발 중
클래스에 @RestController 어노테이션을 선언하여
사용하고 있는 경우에는 String으로 Return을 시켜도
Return한 값에 해당하는
.html 파일이 열리는 것이 아니라
그냥 String을 반환해 버리던데
그렇다고 @Controller를 사용하면
이번에는 .html 파일이 열리기는 하는데
값을 넘기지를 못한다
찾아보니 @RestController를 사용하건
@Controller를 사용하건
ModelAndView를 사용해주면 해결이 되는 문제인데
@GetMapping("searchTotalPageviews")
public ModelAndView SearchTotalPageviews() throws IOException {
// ~ 코드 생략
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("Result");
modelAndView.addObject("response", 넘길_값);
return modelAndView;
}
위와 같이 Return 타입을 ModelAndView로 준 다음
ModelAndView 객체를 선언하고
setViewName("html값") 으로 이동할 HTML을 지정해준 뒤
addObject("HTML에서_사용할_변수명", 값);
을 설정한 뒤 ModelAndView를 반환하고
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
Result <br>
<span th:text="${response}"></span>
</body>
</html>
HTML에서는 ${HTML에서_사용할_변수명}
을 사용해서 값을 끌어와주면
@RestController / @Controller에 상관없이
페이지 이동과 값 Return이 동시에 되는 것이 보인다
반응형
'Spring Framework > Spring' 카테고리의 다른 글
JsonArray Thymeleaf Table에 출력하는 방법 (0) | 2022.02.09 |
---|---|
@RequestBody 여러개 사용방법 (0) | 2022.02.08 |
스프링부트 롬복(Lombok) 적용방법 정리 (0) | 2021.11.08 |
Import Spring Getting Started Content은 뭘까? (0) | 2021.10.22 |
스프링부트 시작페이지 index 에서 다른 페이지로 변경방법 (0) | 2021.10.20 |
댓글