티스토리 뷰
@RequestMapping(value={"/paramTest.choon","/param.choon"},params="account=admin",method=RequestMethod.GET)
public ModelAndView springParam(HttpServletRequest req, HttpServletResponse res){
ModelAndView mav = new ModelAndView(); mav.setViewName("stringTest"); return mav; }
첫번 째는 ModelAndView 리턴방식이다. ModelAndview를 사용하면 setViewName()으로 찾아갈 뷰이름을 지정하고,
addObject()로 뷰페이지에 넘길 파라미터를 셋팅한다.
@RequestMapping으로 사용한 value는 String 배열로 다수의 요청경로를 가질 수 있다. 위와 같은 경우 paramTest.choon이나
param.choon 요청시 이 컨트롤러 메서드에 진입하게 된다.
params도 있는데 이 값도 String 배열로 다수의 값을 설정 가능하다. 요청파라미터에 account=admin이 존재해야 위의
컨트롤러 메서드에 매핑되어 진입가능하다.
요청 파라미터에 특정값이 없도록 할 수도 있다.
params="!type" 이라고 하면 type이라는 요청 파라미터가 없을 경우에 컨트롤러 메서드에 매핑된다.
method는 폼의 전송방식에 따라 GET으로 들어올건지 POST로 들어 올건지에 따라 매핑해준다.
위의 메서드는 GET의 요청으로만 매핑되고 해당 메서드에 진입가능하다. 그외로도 PUT,GET,HEAD,POST,DELETE,OPTIONS,TRACE등이 존재 하는데 이것들은 html의 폼전송으로는 불가능하고,
자바스크립트나 스프링프레임워크에서 제공하는 스프링폼전송을 사용해야 구현가능하다.
@RequestMapping(value={"/test"}) public void test(HttpServletRequest req, Model model){ model.addAttribute("message","hahaha"); }
두번째는 리턴타입이 없는 방식이다. 리턴타입이 없기 때문에 뷰페이지 결정은 누가 해주냐 할 것 같지만, 내부적으로
RequestToViewNameResolver라는 객체에 의해 자동으로 RequestMapping value값인 뷰이름이 test로 결정된다.
@RequestMapping(value={"/stringTest"}) public String stringTest(HttpServletRequest req, Model model){ model.addAttribute("message","hahaha"); req.setAttribute("message", "hohoho"); return "test"; }
세번째는 기본적으로 많이 사용한다고 하는 String 타입 리턴방식이다. 리턴되는 문자열이 뷰이름이 되며,
Model이나 Request객체로 넘겨줄 파라미터 값을 셋팅한다.
'SPRING > 정리' 카테고리의 다른 글
[네이버 지도 javascript map]Jdom을 이용한 스프링프레임워크 환경에서 xml 파싱하기 (2) | 2014.04.16 |
---|---|
quartz 스케쥴러 스프링에서 사용법 (2) | 2014.03.05 |
jsonView 빈 객체 사용시 ajax 한글처리 (0) | 2014.01.24 |
컨트롤러 빈객체를 적용하지 않아도 자동 매핑 (0) | 2014.01.03 |
스프링에서 log4j 설정으로 어플리케이션 실행시 콘솔창에 쿼리보여주기 (0) | 2013.12.18 |