我想知道 Spring MVC 中是否有办法将“url 名称”映射到 URL。例如:
list_users -> /admin/users/list
edit_user?id=123 -> /admin/users/edit/123 (or /users/edit?id=123)
list_programs -> /admin/programs/list
我来自 PHP 背景(特别是 Symfony),其中每个 URL/动作都有一个“路由名称”,您可以使用它在视图模板中创建 URL。在 Symfony 中,您可以在模板中执行以下操作:
{{ path('user_edit', { 'id' : 123} }}
//output = /admin/users/edit/123
URL 不一定需要是 RESTful 的,但我只是想知道 Spring MVC 是否可以完成类似的事情。
我想过的可能的解决方案:
将 url 列在属性/消息文件中,例如:
url.users.edit=/admin/users/edit/{id}
url.users.list=/admin/users/list
然后使用<spring:message code="url.users.list" />
或类似的东西来生成 URL。这已经是普遍接受的解决方案了吗?这可能是不好的做法吗?
我要问的原因是,将完整的 URL 分布在整个 JSP 中似乎是一种不好的做法。如果 25 个 URL 位于“/admin”子目录下,我想将它们移动到不同的子目录,比如“/backend”,会发生什么情况。
请原谅我是否在某个地方有重复的帖子,或者如果有一个我忽略的简单解决方案,但这是一个很难找到具体答案的话题。
谢谢!