由于路径差异,未找到JS/CSS文件java、spring mvc和velocity
我有以下目录结构:由于路径差异,未找到JS/CSS文件java、spring mvc和velocity,java,tomcat,spring-mvc,velocity,Java,Tomcat,Spring Mvc,Velocity,我有以下目录结构: webapp - resources - custom.js - base.css - WEB-INF - views - layout.vm - top.vm - footer.vm - index.vm - FolderA - restricted.vm 我的layout.vm是: #parse('top.vm') $screen_content #parse('footer.vm') My top.vm包括以
webapp
- resources
- custom.js
- base.css
- WEB-INF
- views
- layout.vm
- top.vm
- footer.vm
- index.vm
- FolderA
- restricted.vm
我的layout.vm是:
#parse('top.vm')
$screen_content
#parse('footer.vm')
My top.vm包括以下JS和CSS文件:
<link href="resources/base.css" rel="stylesheet">
<script src="resources/custom.js"></script>
这将返回受限视图:
@Controller
@RequestMapping(value = "/FolderA")
public class SomeController {
@RequestMapping(value = "", method = RequestMethod.GET)
public String secured(Model model) {
return "FolderA/restricted";
}
关于如何解决这个问题,有什么建议吗
另一方面,我在使用常规jsp文件时也遇到了这个问题,但我还是设法用
解决了这个问题。我不知道如何在velocity中解决这个问题。这是因为您声明的资源是相对于用于访问视图的url的。
您必须将所有静态资源URL更改为绝对URL
您可以使用
从此改变
<script src="resources/custom.js"></script>
我曾写过我在jsp中使用的代码,但由于某种原因它没有出现。我对如何在velocity中实现更感兴趣,因为我知道如何在jsp file.yes中实现。这就解决了问题。谢谢!只是好奇,您是否知道在服务器端执行此操作的其他方法?有一个替代方案,但是很粗糙,你必须将所有的JS和CSS内嵌到HTML中。很高兴我能帮助你。也请投票。干杯
<script src="resources/custom.js"></script>
<script src="<c:url value="/resources/custom.js"/>"></script>
<script src="<c:url value="http://www.example.com:8080/FolderA/resources/custom.js"/>">
</script>
<base href="http://www.example.com:8080/FolderA/">