Controller에서 리턴시 문제
- 작성자 :
- 송*겸
- 작성일 :
- 2010-08-23 09:55:08
- 조회수 :
- 3,729
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
아래 예제와 같이 샘플이 돼있는데요. 결과는 model에 넣고 return은 호출할 jsp를
부르는데.
sampleList 객체를 스트링으로 만들어서
그냥 스트링으로 HttpServletResponse으로 결과를 리턴하고 싶은데 어떻게 해야 하나요? 예제2와 같은식으로
예제)
@RequestMapping(value="/sample/egovSampleList.do")
public String selectSampleList(@ModelAttribute("searchVO") SampleDefaultVO searchVO,
ModelMap model)
throws Exception {
.. 중간생략
List sampleList = sampleService.selectSampleList(searchVO);
model.addAttribute("resultList", sampleList);
.. 중간생략
return "/sample/egovSampleList";
}
예제2)
public void getNoticeMng(HttpServletRequest request,
HttpServletResponse response) throws Exception{
SearchVo search = getSearch(request);
String result = noticeMngService.getNoticeMng(search);
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println(result);
out.close();
}
부르는데.
sampleList 객체를 스트링으로 만들어서
그냥 스트링으로 HttpServletResponse으로 결과를 리턴하고 싶은데 어떻게 해야 하나요? 예제2와 같은식으로
예제)
@RequestMapping(value="/sample/egovSampleList.do")
public String selectSampleList(@ModelAttribute("searchVO") SampleDefaultVO searchVO,
ModelMap model)
throws Exception {
.. 중간생략
List sampleList = sampleService.selectSampleList(searchVO);
model.addAttribute("resultList", sampleList);
.. 중간생략
return "/sample/egovSampleList";
}
예제2)
public void getNoticeMng(HttpServletRequest request,
HttpServletResponse response) throws Exception{
SearchVo search = getSearch(request);
String result = noticeMngService.getNoticeMng(search);
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println(result);
out.close();
}
A
안녕하세요.. 송인겸님..
이미 답을 다 올려주셨네요..
예제2처럼.. Servlet API(HttpServletRequest, HttpServletResponse)를 Controller의 해당 메소드에 파라미터로 적용하시면 됩니다.
다만 둘 API 파라미터를 반드시 같이 적용하실 필요는 없습니다.
즉 예제1처럼 request에 대한 정보를 기존 처럼 Commnand/form 객체(SampleDefaultVO)를 통해서 받고.. HttpServletResponse만 처리하실 수 있습니다.
이 경우는 JSP와 같은 View가 없기 때문에.. return이 void가 되고.. ModelMap 파라미터도 필요 없어집니다..
적용 예)
@RequestMapping(value="/sample/egovSampleList.do")
public void selectSampleList(SampleDefaultVO searchVO, HttpServletResponse request)
throws Exception {
...
}
추가적으로 리턴이 void가 되면.. 해당 URL은 GET방식으로만 호출가능합니다. (Spring MVC 내부적으로 POST일 경우 URL기반으로 View 명을 찾음)
그럼.. 즐거운 하루되십시오.
감사합니다.
이미 답을 다 올려주셨네요..
예제2처럼.. Servlet API(HttpServletRequest, HttpServletResponse)를 Controller의 해당 메소드에 파라미터로 적용하시면 됩니다.
다만 둘 API 파라미터를 반드시 같이 적용하실 필요는 없습니다.
즉 예제1처럼 request에 대한 정보를 기존 처럼 Commnand/form 객체(SampleDefaultVO)를 통해서 받고.. HttpServletResponse만 처리하실 수 있습니다.
이 경우는 JSP와 같은 View가 없기 때문에.. return이 void가 되고.. ModelMap 파라미터도 필요 없어집니다..
적용 예)
@RequestMapping(value="/sample/egovSampleList.do")
public void selectSampleList(SampleDefaultVO searchVO, HttpServletResponse request)
throws Exception {
...
}
추가적으로 리턴이 void가 되면.. 해당 URL은 GET방식으로만 호출가능합니다. (Spring MVC 내부적으로 POST일 경우 URL기반으로 View 명을 찾음)
그럼.. 즐거운 하루되십시오.
감사합니다.