我正在尝试在JSP中动态加载图像,我正在尝试做类似的事情:
<img src="<%= book.img %>">
其中book.img包含一个字符串(绝对路径)。我该如何解决这个问题?
我收到的错误如下:
在元素img上的属性src的错误值:PATH中的DOUBLE_WHITESPACE。
答案 0 :(得分:2)
book.img
应该包含服务器上图像的绝对URL。
因此,如果您的图像存储在:
Webcontent/resources/images/
你有一张图片:
close-button.png
book.img
应= /resources/images/close-button.png
然后在您的JSP中使用JSTL创建URL:
<img src="<c:url value="${book.img}"/>"/>
c:url
将域和上下文添加到绝对URL前缀。
没有JSTL的另一种方式是:
<img src="${pageContext.request.contextPath}${book.img}"/>
答案 1 :(得分:0)
我尝试了成千上万种不同的解决方案,这些解决方案通常在SO中找到,在此问题中又被问过3到4次。许多很多答案都告诉您在HTML中写些什么,但是不必费心告诉您这意味着图像文件应该位于何处。唯一对我有用的是:
将图像文件直接放入“ WebContent”目录中。然后,您的jsp文件中的HTML为:
<img src="${pageContext.request.contextPath}/myImageFileName.png">
通过推断,我想说的是,如果将图像文件放入WebContent / Images等子目录中,则只需将该子目录添加到src中,就可以弄清楚该怎么做。但是我没有测试。