2010-11-30 40 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); 
    } 
%> 

但这是非常难看。