我想知道在Spring MVC中是否有一种方法可以将“url名称”映射到URL。例如:
然后使用
我之所以问,是因为在JSP中散布全URL似乎是不好的实践。如果25个URL位于“/admin”子目录下,并且我想将它们移动到另一个子目录“/backend”,会发生什么情况。
如果我忽略了重复的帖子或者有一个简单的解决方案,那么请原谅我,但这是一个很难找到具体答案的话题。
谢谢!
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
URLs并不一定需要符合RESTful规范,但我在想是否可以通过Spring MVC实现这样的功能。
我考虑过的可能解决方案:
将URL列表保存在一个属性/消息文件中,例如:
url.users.edit=/admin/users/edit/{id}
url.users.list=/admin/users/list
然后使用
<spring:message code="url.users.list" />
或类似的方式生成URL。这已经是一种被广泛接受的解决方案了吗?这可能是一种不好的实践吗?我之所以问,是因为在JSP中散布全URL似乎是不好的实践。如果25个URL位于“/admin”子目录下,并且我想将它们移动到另一个子目录“/backend”,会发生什么情况。
如果我忽略了重复的帖子或者有一个简单的解决方案,那么请原谅我,但这是一个很难找到具体答案的话题。
谢谢!
<c:url>
标签:http://www.tutorialspoint.com/jsp/jstl_core_url_tag.htm。 - jlars62