Spring MVC:将多个URL映射到同一个控制器

Tom*_*ker 46 java spring spring-mvc

我有20多个表格,它们是从同一页面链接的.某些表单共享同一个控制器,而其他表单使用自己的控制器 例如,形式A,BC使用DefaultController,而形式D使用ControllerD.

我想要实现的是以一致的方式将URL映射到每个表单.

所以,理想情况下,链接页面看起来像:

问题是如何将每个URL映射到适当的控制器.使用第一个URL模式,您将映射formD.htmlControllerD但不确定如何映射form[A|B|C].htmlDefaultController.使用第二个URL模式,我甚至不知道从哪里开始......

有没有人做过这样的事情?

jri*_*her 152

既然似乎没有人在这里提出完整的答案:

所述@RequestMapping注释可以采取为它的"value"参数的阵列.要使用第一个模式在控制器级别映射它,您将使用:

@Controller
@RequestMapping(value={"/formA.html", "/formB.html", "/formC.html"})
public class ControllerA {

}
Run Code Online (Sandbox Code Playgroud)

然后:

@Controller
@RequestMapping(value="/formD.html")
public class ControllerD {

}
Run Code Online (Sandbox Code Playgroud)

  • 我把它放在我的方法而不是控制器上,它很好用. (4认同)