2010-11-30 70 views
1

在我的spring mvc 3.0項目中,我有一個完整的.jsp文件(〜150),我想在spring的控制下放置它。spring mvc 3.0:在spring的控制下放置一堆.jsp文件

直到現在他們直接由web.xml調用,而不需要通過spring servlet。

從現在開始,我想把它們全部置於春天的控制之下,享受春天的美味,讓我的項目更加統一。

當然,我不想爲每個.jsp文件編寫單個控制器。我怎樣才能做到這一點?

+0

我不這樣做Spring,但爲什麼不在Spring Servlet中添加另一個`url-pattern`,它覆蓋了特定的JSP文件夾?例如。 `/folderfullofjsps/*`。這對春天還是這樣嗎? – BalusC 2010-11-30 18:00:35

回答

1

在單個JSP頁面的情況下,您可以使用<mvc:view-controller>

當你有多個頁面,你可以寫一個包羅萬象的控制器是這樣的:

@RequestMapping("/folder/{name}.jsp") 
public ModelAndView catchAll(@PathVariable String viewName) { 
    return new ModelAndView("legacy/" + viewName); 
} 

但是,它可能與JSP處理servlet的衝突。如果是這樣,您需要應用一些URL重寫過濾器。

0

JSP不能包含任何需要依賴注入的代碼。所以不要這樣做。

如果你真的必須,你可以使用

<%! 
    public void init() { 
     ApplicationContextUtils.getRequiredWebApplicationContext(
      getServletContext()).getAutowireCapableBeanFactory() 
      .autowireBean(this); 
    } 
%> 

但這是非常難看。