Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在子Spring控制器中重写@RequestMapping_Java_Spring Mvc - Fatal编程技术网

Java 在子Spring控制器中重写@RequestMapping

Java 在子Spring控制器中重写@RequestMapping,java,spring-mvc,Java,Spring Mvc,我们将Spring3.2用于带有父项目和子项目(maven)的项目(子项目扩展父项目) 我们遇到了一个问题,需要覆盖子项目中的@RequestMapping,以便专门重新定义URL的状态。 例如: @Controller public class MyParentProjectController { @RequestMapping(value = "/pdfRender") public ModelAndView pdfRender(MyParentProjectComman

我们将Spring3.2用于带有父项目和子项目(maven)的项目(子项目扩展父项目)

我们遇到了一个问题,需要覆盖子项目中的
@RequestMapping
,以便专门重新定义URL的状态。 例如:

@Controller
public class MyParentProjectController {

    @RequestMapping(value = "/pdfRender")
    public ModelAndView pdfRender(MyParentProjectCommand command, HttpServletRequest request,
            HttpServletResponse response, Application application)
        {
            // ...
        }
    }
}
在依赖于父项目的子项目中:

@Controller
public class MyChildProjectController {

    @RequestMapping(value = "/pdfRender")
    public ModelAndView pdfRender(MyChildProjectCommand command, HttpServletRequest request,
            HttpServletResponse response, Application application)
        {
            // ...
        }
    }
}
Spring告诉我这是不可能的,因为子项目中有两个相同的入口点。无法重新定义
RequestMapping
。我找不到一个解决办法,不经过扭曲的东西。 如果您没有使用
@RequestMapping(value=“${…}”)
为我提供了一个出色的解决方案


致以最良好的祝愿

我会将父类设置为抽象类,并保留该方法未实现以覆盖它

如果你想这样做,这个变通方法可能会帮助你;查看SpringMVC路由器


这是SpringMVC的一个实现。

试试:
公共类MyChildProjectController扩展MyParentProjectController
它们是如何部署的?@Javier Mollá:这是不可能的。如果我扩展一个控制器,我会遇到完全相同的问题。如果两个项目都是你的,我想你可以在控制器内使用一个受保护的函数,这样你可以在Child扩展时覆盖它。谢谢你的解决方案。没有重量或订单的可能性?我将看到这个选项,它需要审查许多事情(从我们的框架和项目),尝试思考是否必须同时提供家长和孩子服务,以及它们是否可以是两种不同的服务。