Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Java
- char to str
- 자바스크립트 이벤트중지
- jquery 속성선택자
- Interface
- 자바 조합 재귀
- 서로소
- java Collections.sort()
- java lambda
- 자바스크립트 이벤트처리
- 조합 재귀
- 재귀함수
- 재귀
- 순열코드
- parseInt()
- 순열 재귀
- 자바 순열 코드
- 알고리즘 그래프
- 상속
- 자바입출력
- str to char array
- 자바
- 자바 재귀 조합
- jquery dom 계층 선택자
- jquery 필터선택자
- inner class
- jquery 이벤트 처리
- 후위표기
- java 내부 클래스
- 알고리즘
Archives
- Today
- Total
유블로그
[Spring] View 반환 : String, void, ModelAndView, View 본문
Controller가 View 이름 혹은 객체를 반환하여 DispatcherServlet에게 전달하면, ViewResolver 와 View를 통해 이름 혹은 객체에 맞는 view를 생성하게 된다.
그래서 일단 servlet-context.xml 에 ViewResolver를 설정해야한다.
- servlet-context.xml
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
파일 매핑은 prefix+요청된 뷰+suffix 로 된다.
예로 들어 /board/list 가 view 이름으로 리턴되었다면
/WEB-INF/views/board/list.jsp 로 매핑된다.
1. String 리턴타입
- jsp
<a href="${root}/return/test01.do">
- controller
/**
반환타입이 String 일 경우 (ajax 호출이 아닌 경우)
- 페이지 이름의 개념으로 사용
- 설정된 뷰 리졸버를 활용한다. (redirect: 이 아닌 경우)
- prefix + 사용자가 리턴한 문자열 + suffix : 페이지 호출
servlet-context.xml 파일의 내용
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
아래가 호출된다.
/WEB-INF/views/return/test01.jsp
*/
@GetMapping("test01.do")
public String test01() {
return "return/test01";
}
2. void 리턴타입
- jsp
<a href="${root}/return/test02.do">
- controller
/**
* void 왕왕왕 추천!!!!!!!!!
void 일 경우
.jsp 페이지 이동 시 요청한 URI 를 이용한다.
prefix + 요청한 URI(확장자 제거) + suffix
${root}/return/test02.do
요청한 URI : lecture/return/test02.do
요청한 URI(프로젝트 경로(/lecture), 확장자 제거(.do))
: /return/test02
/WEB-INF/views/ + /return/test02 + .jsp
/WEB-INF/views/return/test02.jsp (실제 호출되는 페이지)
*/
@GetMapping("test02.do")
public void test02() { }
3. ModelAndView 리턴타입
- jsp
<a href="${root}/return/test03.do">
- controller
/**
* ModelAndView 로도 이동할 수 있다는 거지 사실 void 가 젤 많이 쓰이고 그 다음 String 이 제일 많이 쓰인다.
/WEB-INF/views/ + return/test03 + .jsp
-> /WEB-INF/views/return/test03.jsp (실제 호출되는 페이지)
*/
@GetMapping("test03.do")
public ModelAndView test03(ModelAndView mav) {
mav.setViewName("return/test03");
return mav;
}
4. View 리턴타입
- jsp
<a href="${root}/return/test04.do">
- controller
/**
반환 타입이 View 인 경우에는
뷰리졸버를 적용하지 않는다.
직접 전체 호출 경로를 설정한다.
suffix , prefix 적용 안 됨!!
이 방법도 그냥 이렇게 할 수 있다로만~
*/
@GetMapping("test04.do")
public View test04() {
View view = new InternalResourceView("/WEB-INF/views/return/test04.jsp"); // 이동할 페이지를 파라미터로 준다.
return null;
}
'Spring' 카테고리의 다른 글
spring-boot dependencies 설정 (0) | 2020.11.04 |
---|---|
[Spring] 데이터 공유방식 (0) | 2020.11.01 |
[Spring] 파라미터 처리하는 여러가지 방법 (0) | 2020.11.01 |
[Spring] controller : 여러가지 Request mapping 방법들 (0) | 2020.11.01 |
[Spring] Spring Web MVC (0) | 2020.11.01 |