[SPRING] spring4 @RestController를 사용하여 jsp 페이지를 반환하는 방법?
SPRINGspring4 @RestController를 사용하여 jsp 페이지를 반환하는 방법?
내가 spring3 @Controller를 다음과 같이 사용할 때 :
@RequestMapping("/userCenter")
@Controller
public class LoginCtrl {
@RequestMapping("/loginPage")
public String login(HttpServletRequest request,HttpServletResponse response,Model model) throws Exception {
return "userCenter/loginPage";
}
}
브라우저에서 loginPage.jsp 권한을 얻었습니다.
하지만 @Controller를 @RestController로 바꿀 때
localhost : 8080 // userCenter / loginPage는 "userCenter / loginPage"문자열이있는 페이지를 반환합니다.
그래서, 어떻게 @RestController를 @Controller와 같은 JSP 페이지를 얻을 수 있을까요?
해결법
-
==============================
1.넌 안된다. @RestController는 뷰를 반환하지 않습니다. 이것은 직접 응답 기관에 쓸 내용을 반환하는 것을 의미합니다.
넌 안된다. @RestController는 뷰를 반환하지 않습니다. 이것은 직접 응답 기관에 쓸 내용을 반환하는 것을 의미합니다.
꼭해야 할 일이 있다면, 당신의 메소드가 리턴 타입의 View 또는 ModelAndView를 가지며, 식별 가능한 뷰 이름으로 적절한 객체를 반환하도록 선언 할 수 있습니다.
-
==============================
2.사실, @ RestController 또한보기를 반환 할 수 ...
사실, @ RestController 또한보기를 반환 할 수 ...
언젠가 연구하고 문서를 읽은 후, 나는 해결책을 얻었다.
이 솔루션을 모든 사람들과 공유하겠습니다.
먼저 컨트롤러 메서드의 반환 형식을 "ModelAndView"로 설정합니다.
둘째, 이렇게보기 경로를 설정하십시오.
ModelAndView mav = new ModelAndView("userCenter/loginPage");
마침내
return mav;
적절한 JSP 페이지 내용을 보게 될 것입니다.
-
==============================
3.API 문서에서 @RestController를 확인하십시오. @ResponseBody 자체가 주석 처리되어 있습니다. 이는 메소드 반환 값이 웹 응답 본문에 바인딩되어야 함을 나타냅니다. 구성된 뷰 객체는 절대로 실행되지 않으므로 어떤 뷰에도 매핑 할 수 없습니다. 내 질문에 어쨌든 RestController를 사용하려는 이유가 있습니다. 뷰에 맵핑하지 않아도됩니까?
API 문서에서 @RestController를 확인하십시오. @ResponseBody 자체가 주석 처리되어 있습니다. 이는 메소드 반환 값이 웹 응답 본문에 바인딩되어야 함을 나타냅니다. 구성된 뷰 객체는 절대로 실행되지 않으므로 어떤 뷰에도 매핑 할 수 없습니다. 내 질문에 어쨌든 RestController를 사용하려는 이유가 있습니다. 뷰에 맵핑하지 않아도됩니까?
-
==============================
4.@RestController는 모든 본문에 대해 @ResponseBody를 자동으로 구성합니다. 즉, 출력에 모든 것을 쓰고보기를 반환하지 않도록 설계되었습니다. 만약 당신이보기를 반환하고자한다면 @Controller를 사용하여 다른 클래스를 구성하고 그에 따라 뷰를 리턴하십시오.
@RestController는 모든 본문에 대해 @ResponseBody를 자동으로 구성합니다. 즉, 출력에 모든 것을 쓰고보기를 반환하지 않도록 설계되었습니다. 만약 당신이보기를 반환하고자한다면 @Controller를 사용하여 다른 클래스를 구성하고 그에 따라 뷰를 리턴하십시오.
-
==============================
5.REST API에 리디렉션 대체를 만들기 위해 @RestController와 함께 여전히 유용 할 수 있습니다.
REST API에 리디렉션 대체를 만들기 위해 @RestController와 함께 여전히 유용 할 수 있습니다.
@GetMapping("/**") public ModelAndView Default() { ModelAndView mav = new ModelAndView("redirect:/actuator/health"); return mav; }
from https://stackoverflow.com/questions/26031254/how-to-use-spring4-restcontroller-to-return-a-jsp-page by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 키 'PRIMARY'에 대한 중복 항목 'string1-string2' (0) | 2019.01.22 |
---|---|
[SPRING] JSP 페이지에서 렌더링되지 않은 스크립트 태그 (Spring + Tiles + JSPX 사용) (0) | 2019.01.22 |
[SPRING] Spring Security OAuth 2.0 - 인증 코드 부여에는 항상 클라이언트 비밀이 필요합니다. (0) | 2019.01.22 |
[SPRING] Jackson은 비어있는 목록으로 비 직렬화 ""합니다. (0) | 2019.01.22 |
[SPRING] Spring Security 플러그인으로 기존 도메인 클래스 사용 (0) | 2019.01.22 |