Java Spring4-MVC-URL参数和静态资源路径
我有一个SpringMVC应用程序,在一个页面中,我在一个表中列出了从数据库获取的“组”详细信息。每个组的url都设置为“/viewgroup/410”,其中410是将从数据库加载并显示在viewgroup.jsp页面中的groupidJava Spring4-MVC-URL参数和静态资源路径,java,spring,jsp,spring-mvc,spring-4,Java,Spring,Jsp,Spring Mvc,Spring 4,我有一个SpringMVC应用程序,在一个页面中,我在一个表中列出了从数据库获取的“组”详细信息。每个组的url都设置为“/viewgroup/410”,其中410是将从数据库加载并显示在viewgroup.jsp页面中的groupid <td><a href="viewgroup/${group.groupid}">${group.name}</a></td> 像这样。jsp页面无法加载目录结构中的静态资源 +webapp +resourc
<td><a href="viewgroup/${group.groupid}">${group.name}</a></td>
像这样。jsp页面无法加载目录结构中的静态资源
+webapp
+resources
+css
+js
+images
+views
+login.jsp
jsp页面的image/js/css路径如下
<link href="resources/css/bootstrap.css" rel="stylesheet" media="screen">
这是用jsp实现的
<link href="viewgroup/resources/css/bootstrap.css" rel="stylesheet" media="screen">
jsp页面加载仍然无法加载静态资源。当我在url中传递参数时,如何在jsp页面中提供静态资源的资源路径?通过项目的任何url传递查询参数的事实并不影响它处理静态资源的方式。您只需包含一个指向静态资源的链接(例如,作为相对路径),如下所示:
<link href="/resources/css/bootstrap.css" rel="stylesheet" media="screen">
编辑:我的错,我认为Spring MVC+任何视图技术(JSP、Thymeleaf等)都会自动根据web应用程序的根路径解析链接的href,但对于原始HTML来说,这显然是不正确的,因为相对链接的href是根据当前路径解析的。
因此,最终,正如OP所发现的,如果链接是使用当前使用的视图技术处理的(在使用JSP的示例中:
)我已经配置了registry.addResourceHandler(“/resources/**”).addResourceLocations(“/resources/”);但是这是可行的,在一开始没有“…”的情况下应该是可行的,但是无论如何,如果它可行:)它是可行的,但是我遇到了另一个问题,这个jsp中包含的header.jsp无法加载静态资源!嗯…你能把密码贴出来吗?另外,请将在JSP页面中解析的bootstrap.css文件的URL作为目标,并将其复制/粘贴到浏览器中,以确保静态资源解析正常工作(URL应类似于,且不应返回404)
<link href="viewgroup/resources/css/bootstrap.css" rel="stylesheet" media="screen">
<link href="/resources/css/bootstrap.css" rel="stylesheet" media="screen">
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}