我是Spring MVC和Spring框架的新手,我正在努力学习它。
我使用Spring Tool Suite做了一个小的“hello world”项目并遇到了一个奇怪的问题。所以我开始了一个新的Spring项目并选择了Spring MVC Project。我创建了一个控制器和一个视图jsp页面来显示一个hello页面。一切都很好。这里没有问题。 然后我决定在我的jsp页面中包含一张图片。我将一张图片复制到“webapp / resources”文件夹中,并在我的视图页面(其路径为“webapp / WEB-INF / views / hello.jsp”)中放置了这样的img标签。标签看起来像这样:
当我运行应用程序并转到我的视图页面时,它不会在STS内部浏览器或常规浏览器中显示图像。我试图从我的浏览器查看页面的来源,并且源代码确实有img标签,但由于某种原因它没有显示。
我尝试将图像与我的jsp文件一起直接放在“webapp / WEB-INF / views”中,并将标记更改为:
但仍然没有成功。最后,我把这归咎于我创建jsp并且试图打开我的常规Eclipse IDE(即与STS不同)并创建了一个动态Web项目,我将标签插入到jsp文件中并将其复制到其中一个项目的子文件夹。我运行该项目,现在它的工作原理;图片显示。
为什么会这样?为什么它在常规Web项目中工作而在Spring MVC项目中不起作用?感谢您的时间,如果您帮助我,我将不胜感激!
答案 0 :(得分:0)
jsp文件不是常规的html文件。
您应该使用<c:url />
标记来确保您的资源路径是从项目的根目录计算的:
<img src='<c:url value="/img/mylogo.png"/>' class="logo"/>
其中mylogo.png位于WebContent / img /
中答案 1 :(得分:0)
I tried to put the image directly in "webapp/WEB-INF/views"
图片不应位于/WEB-INF/
下,因为该应用程序无法访问此文件夹。它应该在webapp
下,例如webapp/resources/myLogo.png
然后在resources/myLogo.png
。{/ p>中使用它:img src