gpt4 book ai didi

java - Spring3 MultiActionController 方法 - 处理程序解析。 MapAndView 与 String

转载 作者:行者123 更新时间:2023-12-01 19:06:37 25 4
gpt4 key购买 nike

首先,了解一些背景:

web.xml:

我将所有/app/* 请求匹配到我的调度程序:

<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>

我的问题,为什么在返回字符串时调用/app/import/view 有效:

Controller :

public class ImportController extends MultiActionController {

public String view(HttpServletRequest request, HttpServletResponse response) throws Exception
return "importer.home";
}

但返回 ModelAndView 时则不然:

public class ImportController extends MultiActionController {

public ModelAndView view(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mav = new ModelAndView("importer.home");
mav.addObject(new ExlFile());
return mav;
}

如果我们使用 ModelAndView 是否有不同的命名约定?

最佳答案

您正在使用MultiActionController,它对方法命名约定和签名有非常严格的限制。

但是,您根本不应该使用 MultiActionController,它已过时且已弃用。按照 Spring 手册中的描述编写 Controller ,即使用 @Controller@RequestMapping,然后您将获得更灵活的方法签名。

关于java - Spring3 MultiActionController 方法 - 处理程序解析。 MapAndView 与 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9834805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com