Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 映射URL";名称“;到JSP中的控制器_Spring_Jsp_Spring Mvc - Fatal编程技术网

Spring 映射URL";名称“;到JSP中的控制器

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

我想知道在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。在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-我已经回答了自己的问题。