Whiteship's Note

13.3.2. Other simple controllers

Spring/Chapter 13 : 2007.05.10 11:28


ParameterizableViewController 를 사용하면 AbstractController 와 기능은 같지만 veiw 이름을 Configuration 파일에서 설정할 수 있습니다.
사용자 삽입 이미지
위의 인터페이스를 보면 viewName이라는 멤버 변수가 있고 setter injection 사용하여 설정 파일로 부터 view 이름을 설정 할 수 있다는 것을 알 수 있습니다.
사용자 삽입 이미지

AbstractController와의 관계는 다음과 같습니다. 실제 구현한 코드도 예상 했던 것 만큼이나 매우 간결합니다.

 public class ParameterizableViewController extends AbstractController {
   
   private String viewName;


   /**
    * Set the name of the view to delegate to.
    */
   public void setViewName(String viewName) {
       this.viewName = viewName;
   }

   /**
    * Return the name of the view to delegate to.
    */
   public String getViewName() {
       return viewName;
   }

   protected void initApplicationContext() {
       if (this.viewName == null) {
           throw new IllegalArgumentException("viewName is required");
       }
   }


   /**
    * Return a ModelAndView object with the specified view name.
    */
   protected ModelAndView handleRenderRequestInternal(RenderRequest request, RenderResponse response)
           throws Exception {

       return new ModelAndView(getViewName());
   }

}

'Spring > Chapter 13' 카테고리의 다른 글

13.4.2. SimpleUrlHandlerMapping  (0) 2007.05.11
13.4.1. BeanNameUrlHandlerMapping  (0) 2007.05.11
13.4. Handler mappings  (0) 2007.05.11
13.3.4. Command controllers  (0) 2007.05.11
13.3.3. The MultiActionController  (2) 2007.05.10
13.3.2. Other simple controllers  (4) 2007.05.10
13.3.1. AbstractController and WebContentGenerator  (0) 2007.05.10
13.3. Controllers  (0) 2007.05.09
13.2. The DispatcherServlet  (0) 2007.05.07
13.1. Introduction  (0) 2007.05.07
13. Web MVC framework  (0) 2007.05.07
top




: 1 : ··· : 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 27 : 28 :