2011-05-07 38 views

回答

4

,只要你想,你可以有儘可能多的控制器所取代。你可以將其配置方式如下:

在你的XML增加以下內容:

<context:annotation-config /> 
<context:component-scan base-package="com.vanilla.controllers" /> 

現在你需要@Controller註釋

例,以紀念包com.vanilla.controllers.*所有類:

package com.vanilla.controllers; 

@Controller 
@RequestMapping(value="/admin") 
public class AdminController { 

    @RequestMapping(value="/login.html", method=RequestMethod.GET) 
    public ModelAndView index(){ 
     Admin admin = new Admin(); 
     ModelAndView mv = new ModelAndView("admin/index"); 
     mv.addObject("admin", admin); 
     return mv; 
    } 

} 

或者另一個實施例:

package com.vanilla.controllers; 
@Controller 
public class DefaultController { 

    @RequestMapping(value="/index.html", method=RequestMethod.GET) 
    public ModelAndView index(){ 
     ModelAndView mv = new ModelAndView("index"); 
     return mv; 
    } 

} 

這樣,只要你想,你可以使用盡可能多的控制器。

+0

感謝丹尼,但如果有可能比PLZ給我一些關於建於sping3 – subodh 2011-05-09 05:22:00

+0

@Subodh的控制器,還沒有構建在控制器中,它們都在Spring 3.0中被棄用 – 2011-05-10 08:37:19

1

我還是一個Sprint N00B,所以把我的意見與鹽。

有沒有簡單的回答這個問題。最簡單的答案就是「儘可能多地需要」。

春天已經沒有硬編碼限制控制器,您的應用程序可以使用的數量,但從一個複雜點,如果你有超過100個控制器,你可能有「太多的」控制器。

我喜歡每「東西」一個控制器和I界定「事」爲closeley相關功能的集合。每個「東西」我可能有4個或更多的查看頁面,但他們都支持相同的功能。

1

您可以創建控制器,你在Spring MVC喜歡儘可能多的。

那麼,你的意思是Spring MVC提供的內置Controllers(如ParameterizableViewController,SimpleFormController等)?您可以參考 the spring 3.0 api由春天。但是所提供的所有實施Controller,其中不少是因爲3.0版本棄用,因爲它們是由註解控制器

3

按春3.O文檔的只有20個控制器用SpringMVC中

1. AbstractCommandController 
2. AbstractController 
3. AbstractFormController 
4. AbstractUrlViewController 
5. AbstractWizardFormController 
6. BaseCommandController 
7. CancellableFormController 
8. ComponentControllerSupport 
9. Controller 
10. EventAwareController 
11. MultiActionController 
12. ParameterizableViewController 
13. PortletModeNameViewController 
14. PortletWrappingController 
15. ResourceAwareController 
16. ServletForwardingController 
17. ServletWrappingController 
18. SimpleControllerHandlerAdapter 
19. SimpleFormController 
20. UrlFilenameViewController