在我的spring mvc 3.0項目中,我有一個完整的.jsp文件(〜150),我想在spring的控制下放置它。spring mvc 3.0:在spring的控制下放置一堆.jsp文件
直到現在他們直接由web.xml調用,而不需要通過spring servlet。
從現在開始,我想把它們全部置於春天的控制之下,享受春天的美味,讓我的項目更加統一。
當然,我不想爲每個.jsp文件編寫單個控制器。我怎樣才能做到這一點?
在我的spring mvc 3.0項目中,我有一個完整的.jsp文件(〜150),我想在spring的控制下放置它。spring mvc 3.0:在spring的控制下放置一堆.jsp文件
直到現在他們直接由web.xml調用,而不需要通過spring servlet。
從現在開始,我想把它們全部置於春天的控制之下,享受春天的美味,讓我的項目更加統一。
當然,我不想爲每個.jsp文件編寫單個控制器。我怎樣才能做到這一點?
在單個JSP頁面的情況下,您可以使用<mvc:view-controller>
。
當你有多個頁面,你可以寫一個包羅萬象的控制器是這樣的:
@RequestMapping("/folder/{name}.jsp")
public ModelAndView catchAll(@PathVariable String viewName) {
return new ModelAndView("legacy/" + viewName);
}
但是,它可能與JSP處理servlet的衝突。如果是這樣,您需要應用一些URL重寫過濾器。
JSP不能包含任何需要依賴注入的代碼。所以不要這樣做。
如果你真的必須,你可以使用
<%!
public void init() {
ApplicationContextUtils.getRequiredWebApplicationContext(
getServletContext()).getAutowireCapableBeanFactory()
.autowireBean(this);
}
%>
但這是非常難看。
我不這樣做Spring,但爲什麼不在Spring Servlet中添加另一個`url-pattern`,它覆蓋了特定的JSP文件夾?例如。 `/folderfullofjsps/* url-pattern>`。這對春天還是這樣嗎? –
BalusC
2010-11-30 18:00:35