这是我放置 CSS 文件的地方:
这就是我注册这个资源的方式:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
这就是我从 JSP 引用此 css 的方式:
<link type="text/css" href="/css/bootstrap.css" rel="stylesheet"/>
我可以看到包含内容但没有样式的 JSP 页面。
我认为错误是在引用时出现的,但我找不到它。我也试过这些,但不起作用:
<link type="text/css" href="../css/bootstrap.css" rel="stylesheet"/>
<link type="text/css" href="/resources/css/bootstrap.css" rel="stylesheet"/>
<link type="text/css" href="<%=request.getContextPath() %>/css/bootstrap.css" rel="stylesheet"/>
<link type="text/css" href="<%=request.getContextPath() %>/resources/css/bootstrap.css" rel="stylesheet"/>
有什么想法吗?
编辑: 现在我已将 css 文件夹移动到 WebContent。好像是这样的:
还是不行。我应该为 ResourceHandler 注册什么?
registry.addResourceHandler("/WEB-INF/**").addResourceLocations("/WEB-INF/"); ?
我应该如何从 JSP 引用 css?
最佳答案
默认情况下,资源处理程序不会在类路径中查找资源。它在 webapp 中寻找它们。
创建一个名为resources
的文件夹并将其放在/src/main/webapp
中。然后将你的css
、js
等文件夹放在那里。
关于java - JSP 在使用 ResourceHandlerRegistry.addResourceHandler(基于 Java 的 webConfig)时找不到 css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19728969/