본문 바로가기
JavaScript/Spring

[Spring]스프링 prefix & suffix 를 이용하여 view페이지 지정하기

by Alkaloid 2022. 1. 25.
반응형
반응형

위 코드를 보시면 servlet.xml 코드입니다. spring에는 Servlet-context.xml 라고 지정되어 있을거예요.

 

여기를 보시면 맨아래 두줄 name="prefix"와 그아래 name="suffix" 보이시나요?

prefix는 접두어, suffix는 접미어로 사용한다고 생각하시면 됩니다.

 

무슨말인지 설명해드릴께요. 만약 제가 page.jsp라는 페이지로 이동을 하려합니다.

그런데 해당 page.jsp의 경로는 /test/page.jsp에 있을때, 컨트롤러에서는 /test/page.jsp이런식으로 리턴을 해줘야해요.

하지만 위 코드처럼 앞에는 /test/가 붙고 뒤에는 .jsp붙는다면? 컨트롤러에서 page라는것만 리턴하면 자동으로 해당 페이지를 찾아주게 됩니다.

이말은 즉, 페이지명이 달라도 해당경로, 파일 확장자가 같다면 컨트롤로에서는 논리적인 뷰이름만 리턴해줘도 되는것입니다.

 

자, 그럼 .do라는 파일이 있습니다. 이 .do는 /WEB-INF/views/ 아래 있을때 어떤식으로 써야할까요??

 

 

 

정답은 

<property name="prefix" value="/WEB-INF/views/" />

<property name="suffix" value=".do" />

 

 

 

여기서 궁금증이 생기시는 분들이 계실거라고 생각해요.

뷰 이름만 리턴했을때 sevlet.xml에 지정되 있는 prefix와 suffix 경로로 리턴받는다는건 알겠어. 근데 어떻게 알고 페이지를 로딩하지?

InternalResourceViewResolver라는 곳을 보면 컨트롤러에서 return 받은 객체에 선언된 view 페이지를 지정해주는 클래스가 존재하기 때문입니다.

반응형