我试图通过从数据库检索路径,使用JavaBean和Struts 2在JSP页面上显示图像文件。该<img>
标签是不承认的图像路径。
当我尝试显示路径时,使用此行显示正确的路径:
<s:property value='%{path}'/>
<s:property value='#{path}'/>
# Displays
C:\Users\Admin\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\File_Demo\1011_1.png
使用<img>
标签编写此语句时,不显示任何内容。
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<body>
<img alt=":p" src="<s:property value='%{path}'/>"/>
</body>
</html>
因此,首先在渲染的页面中检查img标签实际上是否包含正确的path参数(您说过您尝试将其打印出来,但更好的是dbl检查)。(查看源代码,或在Firefox中,右键单击并检查元素)。
但是,主要的问题是您的实际路径。从这个问题出发,它是C:驱动器上某个目录的绝对路径。但是不是您的浏览器直接从驱动器中获取该文件,而是由它提供服务的服务器,因此您的服务器(tomcat,我想是?)需要能够解析到特定文件的路径。通常,Web服务器使用相对路径而不是绝对路径,因此它将无法处理计算机的全部内容。
在webapp中,将是与您的webapp子文件夹有关的文件:查看...\org.eclipse.wst.server.core\tmp0\wtpwebapps\File_Demo\1011_1.png
。我猜(我自己不是在使用eclipse),您的服务器位于org.eclipse.wst.server.core\tmp0
,并且您的webapp被称为File_Demo
。
因此,应该1011_1.png
仅是映像的正确路径(或者../1011_1.png
如果您的struts操作位于某个包中)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句