在我的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