✔️ Spring Boot는 InternalResourceViewResolver
라는 View Resolver를 자동으로 등록하는데, 이 때 application.yaml에 등록한 spring.mvc.view.prefix
와 spring.mvc.view.suffix
설정 정보를 사용해서 등록한다.
🔽 핸들러에서 반환하는 ModelAndView 예시
@Component("/springmvc/old-controller")
public class OldController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("OldController.handleRequest");
return new ModelAndView("new-form");
}
}
🔽 InternalResourceViewResolver
에서 사용하기 위한 application.yaml 설정 정보
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
(숫자는 우선 순위이며, 이 외에도 여러가지가 더 있다.)
1 = BeanNameViewResolver → 빈 이름으로 뷰를 찾아서 반환한다. (엑셀 파일 생성 기능 등에 사용)
2 = InternalResourceViewResolver → JSP를 처리할 수 있는 뷰를 반환한다.
✔️ 참고
InternalResourceViewResolver
는 만약 JSTL 라이브러리가 있으면 InternalResourceView를 상속받은 JstlView
를 반환한다.ThymleafViewResolver
를 등록해야 한다. 최근에는 라이브러리만 추가하면 스프링 부트가 자동으로 등록해준다.