【问题标题】:RequestMapping Packages in SpringSpring中的RequestMapping包
【发布时间】:2016-05-20 05:50:14
【问题描述】:

所以我目前正在使用 Spring MVC 3.2 为我的工作开发一个平台,带有 XML 配置,而我正在寻找的是一些语法糖。

基本上我们有很多控制器,因为我是组织所有包的人,所以我用我在 Angular JS 中习惯的相同方法打包它们(即相关概念与相关)。

所以现在我有一个包结构:

  • com.company.general
    • com.company.general.security
    • com.company.general.accounts
  • com.company.reports
    • com.company.reports.someReport
    • com.company.reports.anotherReport

现在我个人遇到的一个大问题(更多的是我正在寻找一种简单的方法来做到这一点)是尝试为特定包设置标准路径。

看了上面的内容,我发现不是很清楚,所以我会试着澄清一下。

现在,我在报告包下的每个控制器都有:

@Controller
@RequestMapping("/reports/reportName")

现在,该代码块中唯一发生变化的是不同控制器的报告名称。 我不确定如何(如果可能的话)拥有它以便我可以指定,com.company.reports 包下的所有控制器都有一个默认的“/reports/”路径,然后当我指定 @RequestMapping 时它只是附加到它的控制器。

我认为这在我设置时是可行的,因为它执行分配(或我认为的路径分配)似乎是合乎逻辑的,但无济于事。

任何帮助将不胜感激,非常感谢

【问题讨论】:

标签: spring spring-mvc


【解决方案1】:

您也许可以尝试使用抽象类:

@RequestMapping(value = "/reports")
public abstract class AbstractReportController {
    ...
}


public class MyReport extends AbstractReportController  {
    @RequestMapping(value = "/myReportName")
    public String aMethod(Model model) {
        ...
    }
 }

public class AnotherReport extends AbstractReportController  {
    @RequestMapping(value = "/anotherReportName")
    public String aMethod(Model model) {
        ...
    }
 }

这项工作。

【讨论】:

  • 不行,抱歉,Spring 不会像这样使用请求映射进行继承,请查看 here 这提供了一个很好的示例和说明
猜你喜欢
  • 2016-02-21
  • 1970-01-01
  • 2018-07-11
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多