Spring 映射URL";名称“;到JSP中的控制器
我想知道在SpringMVC中是否有办法将“url名称”映射到url。例如:Spring 映射URL";名称“;到JSP中的控制器,spring,jsp,spring-mvc,Spring,Jsp,Spring Mvc,我想知道在SpringMVC中是否有办法将“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。在Sy
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,但我只是想知道这样的事情是否可以通过SpringMVC实现
我考虑过的可能解决方案:
将URL列在属性/消息文件中,如:
url.users.edit=/admin/users/edit/{id}
url.users.list=/admin/users/list
然后使用
或类似的方法生成URL。这已经是一个普遍接受的解决方案了吗?这可能是坏习惯吗
我之所以这么问,是因为在JSP中散布完整的URL似乎是一种不好的做法。如果25个URL位于“/admin”子目录下,并且我想将它们移动到另一个子目录,比如“/backend”,会发生什么情况
请原谅,如果有重复的帖子,或者如果有一个简单的解决方案,我忽略了,但这是一个很难找到具体答案的话题
谢谢 如果有人看到这篇文章,我已经找到了一种将名称映射到Spring MVC URL的解决方案: 这个解决方案很好地完成了这项工作,我特别喜欢您的所有URL/路由都可以保存在一个中心位置。此实现使得
@RequestMapping
注释无效
请记住以下几点:
确保dispatcher servlet使用*
作为URL参数。我花了一段时间才发现,仅仅/
是不起作用的,而且会导致URL生成错误
<servlet-mapping>
<servlet-name>spring-dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
春季调度员
/*
我建议您阅读以下文档:。它相当长,但我认为它很好地解释了如何使用SpringMVC创建控制器。您可能还想看看这一页,了解如何使用
标记:。我对控制器和Spring MVC的工作原理以及JSTL核心有相当完整的理解(和经验)。你能详细说明一下你的评论与我帖子中的任何内容有什么关系吗?很抱歉,我没有抓住你问题的重点。不过我有兴趣看看答案。作为补充说明,Play框架可以做到这一点。:)@jlars62-我已经回答了自己的问题。