【发布时间】:2015-10-07 19:33:08
【问题描述】:
我有一个带有数百个控制器的 Spring MVC 应用程序。在控制器中,我使用通常的 @Requestmapping 映射:
@RequestMapping(value="/someUrl.go")
public String myMethod () {
// implementation here;
}
现在,在 JSP 页面中,我构建了一个指向另一个页面的链接,如下所示:
<a href="someUrl.go">Link to another page</a>
问题:目标页面的相对 URL,“someUrl.go” 和其他数百个类似的 URL,在我的应用程序中写了两次 - 一次在注释中,一次在 JSP 中链接到它。实际上,有些页面是从多个 JSP 链接到的,所以它们的 URL 被写了很多次。
Spring MVC 是否为此提供任何解决方案?理想情况下,我希望对 Spring MVC 知道的所有 URL 进行反向映射,并为每个 URL 设置一个唯一名称,因此我可以在 JSP 中使用该名称来获取 URL,而不是对其进行硬编码。
更新:这似乎与 How can I create a URL based on controller and action method in Spring MVC? 重复,除了在另一个问题中他们询问有关 Spring MVC 3 的问题。在 Spring 4 中,此问题已解决,如下所示 (https://jira.spring.io/browse/SPR-5779 )
【问题讨论】:
-
让我理解您的意图...您不想编写链接,但您想添加另一层抽象并编写链接标识符而不是链接本身。对我来说,这似乎是“更少的音乐,更多的钱”。
-
我正是想要那个,不是为了更多的钱而少听音乐,而是更多的音乐:) 实际上,我在这里找到了解决方案:jira.spring.io/browse/SPR-5779 和这里:stackoverflow.com/questions/6022980/…
-
这很有趣,而且我不知道存在的东西......很好的发现。
标签: spring-mvc