한번에 여러가지 일을 하는 컨트롤러는 multication Controller 다
거의 대부분 이 컨트롤러를 사용하게 되지 않을까 싶다.
그런데 문제는 간단한 그리고 그냥 view 페이지로 링크만 거는게 아니라
약간의 가공을 해서 값을 보내야 하는 경우 abstractController 를 사용한다.
일단 내가 쓰는 설정대로
1. dispatcher-servlet.xml 에서 ~~.do 설정(서블릿 설정)
2. applicationContext.xml 에서 컨트롤러 class 지정
3. Controller class 작성
의 순서대로 나간다.
1. dispatcher-servlet.xml
url mapping 에서
<prop key="/service.do">serviceAbstractController</prop>
같이 설정함
2. applicationContext.xml
<bean id="serviceAbstractController" class="com.mbiz.ad.controller.ServiceAbstractController">
<property name="viewName" value="ad/service/service" />
</bean>
별로 설정할게 없다. 기본적인 view 페이지만 설정했다.
3. controller 클래스
package com.mbiz.ad.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import com.mbiz.core.dto.Board;
public class ServiceAbstractController extends AbstractController{
private String viewName;
public void setViewName(String viewName) {
this.viewName = viewName;
}
/* (non-Javadoc)
* @see org.springframework.web.servlet.mvc.AbstractController#handleRequestInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mnv = new ModelAndView();
/////////////////////////////////////
String area = request.getParameter("area");
mnv.addObject("area", area);
////////////////////////////////////////
mnv.setViewName(viewName);
return mnv;
}
}
위와 같이 request 를 가져와서 약간 가공후에 다시 mnv 에 넣어서
(request.setAttribute 와 같은 것이므로 ) view 페이지에서
request.getAttribute 로 mnv에 들어간 객체를 꺼내서 사용하면 되겠다.
'SPRING' 카테고리의 다른 글
[ SPRING ] eclipse에서 Spring boot 프로젝트 만들기 (0) | 2021.09.27 |
---|---|
Spring 스케쥴러 (Quartz) (0) | 2010.04.07 |
Spring FrameWork 에서 Log4J 설정 (0) | 2010.04.01 |
Spring Controller 종류2 (MultiactionController) (0) | 2010.03.31 |
Spring Controller 종류 (ParameterizableViewController) (0) | 2010.03.30 |
댓글