返回 Viewable 会弄乱路径,因此现在 js/css 文件无法加载
我在 java 中返回一个 Viewable
,同时返回一个位于 WebContent
目录中的 jsp
。在该目录中,有我的文件所在的 css
和 js
目录。我的 jsp
使用相对路径引用这些文件。例如js/javascript.js
。
但是,如果我通过 .java
中的 return new Viewable("myPage.jsp");
加载这些 .jsp
中的任何一个文件路径似乎混乱,因为加载 url 时浏览器显示 java 文件的 url 并且所有相对路径都失败。我该如何纠正这个问题?
I'm returning a Viewable
in my java while which returns a jsp
which is located in the WebContent
directory. In that directory there are my css
and js
directories where my files are located. My jsp
's reference these files using relative paths. e.g js/javascript.js
.
However, if I load any of these .jsp
's via a return new Viewable("myPage.jsp");
in my .java
files the paths seem to mess up as when the url is loaded the browser shows the url of the java file and all relative paths fail. How can I correct this issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您使用的路径应该相对于返回这些资源的资源,而不是相对于 JSP 本身。当您直接在浏览器中输入这些文件的 URL 时,是否可以访问这些文件?如果是,那么您只需要确保 JSP 文件的路径正确 - 例如使用绝对路径而不是相对路径 - 像这样:
The path you are using should be relative to the resources that return these, rather than to the JSP's themselves. Are these files accessible when you enter their URL's to the browser directly? If yes, then you just need to make sure you put the right path to the JSP files - e.g. use the absolute path instead of the relative one - like this:
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/style.css" />