java - 在 spring Controller 中处理多个 @PathVariable 属性

标签 java spring spring-mvc

有没有办法修改这样的方法:

@RequestMapping(value="/{pagina}")
public String pagina(Model model, @PathVariable("pagina") String pagina) {
    return "public/pagina";
}

允许处理未知数量的 @PathVariable 参数吗?我想要这样的网址:

/<server>/<app>/<path>/.../<path>

这样处理:

  • 最后一个路径变量属性应存储在单独的变量中;
  • 其他路径变量应存储在 ArrayList 中。

有人知道这是否可行吗?

最佳答案

路径变量与特定路径变量一起使用,符合 URI 模板规范。您可以为 HttpServletRequest 添加一个方法参数并从中获取 URL,然后解析出您想要的内容。

如果您查看文档,您可能还会考虑在请求映射中使用矩阵变量。

http://docs.spring.io/spring/docs/4.0.6.RELEASE/spring-framework-reference/htmlsingle/#mvc-ann-requestmapping

关于java - 在 spring Controller 中处理多个 @PathVariable 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25129156/

相关文章:

java检查文本文件是否存在而不覆盖

java - 如何在运行时选择 Spring bean 实例

java - 一个字段上有两个 hibernate validator 。仅需选择一项

java - 在 Java 体系结构中应该泛化哪种类型的异常或为其创建基类

java - 从另一个类调用方法的最有效方法

java - 如何通过 Spring-Expression-Language 或其他方式根据 jobParameters 有条件地注入(inject) bean?

java - 使用测试 Spring MVC 时,Junit Test 抛出 InvocableTargetException

java - STS :Class 'org.springframework.jdbc.datasource.DriverManagerDataSource' not found

java - 页面重新加载后,Selenium 将找不到页面上的元素

spring - 如何在 Spring 3 中将 DAO 对象注入(inject)到另一个 DAO 类