관리자 0 103 0 0

항상 스프링(Spring)에서 웹 페이지 컨트롤러 함수를 생성할때 매핑의 리턴타입을 항상 String 으로 지정하였는데,

반환값이 String 이면 페이지 파일명을 리턴하는 방식이었다.

개발하면서 느꼈던 것이 JSON 을 리턴할때 굳이 페이지를 만들어서 리턴을 해야하는게 불편하다고 느꼈는데,

역시나 페이지를 생성안해도 JSON을 리턴하는 방법이 있더구만...(테스트는 안해봤음)

리턴타입을 @ResponseBody 로 해주면 되나보다...

 

 

서비스할 웹 페이지를 만들겠다면 @RequestMapping 어노테이션을 붙인 컨트롤러 메서드를 만들면 된다.

    @RequestMapping("/")
    public @ResponseBody String helloWorld() {
        return "Hello World!";
    }

그런데 위의 예제는 메서드 반환 값에 @ResponseBody를 붙임으로써 별도의 뷰가 없는 경우를 예로 든 것이다. 뷰를 JSP로 하겠다면 src/main/resources/application.properties 파일에 다음과 같이 지정해준다.

spring.view.prefix                  = /jsp/
spring.view.suffix                  = .jsp

위 두 줄로 인해 스프링 MVC는 /jsp/ 폴더에 있는 jsp 파일들을 기본 뷰로 사용하게 된다. 컨트롤러 메서드는 다음과 같이 고치면 된다. /jsp/hello.jsp를 찾아 보여주게 된다.

    @RequestMapping("/")
    public String helloWorld() {
        return "hello"; // jsp 지정
    }

 

Comments


카테고리