struts 属性 标签无法与 jsp 中的 <img src> 标签一起使用

struts property tag not working with <img src> tag in jsp

我正在尝试使用 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_Demo11_1.png

<img> 标签编写此语句时不显示任何内容。

<%@ taglib uri="/struts-tags"  prefix="s"%>
<html>
  <body>
    <img alt=":p" src="<s:property value='%{path}'/>"/>
  </body>
</html>

因此,首先检查呈现的页面,img 标签实际上包含正确的路径参数(您说您尝试将其打印出来,但最好进行 dbl 检查)。 (查看源代码,或在 Firefox 中,右键单击并检查元素)。

但是,主要问题是您的实际路径。从这个问题来看,它是 C: 驱动器上某个目录的绝对路径。但是,不是您的浏览器直接从驱动器中获取该文件,而是为其提供服务的服务器,因此您的服务器(我猜 tomcat ??)需要能够解析特定文件的路径。通常,Web 服务器使用相对路径而不是绝对路径,因此它无法提供您机器的全部内容。

在 webapp 中,它将是与您的 webapp 子文件夹相关的文件: 看着 ...\org.eclipse.wst.server.core\tmp0\wtpwebapps\File_Demo11_1.png。 我猜(我自己没有使用 eclipse),你的服务器在 org.eclipse.wst.server.core\tmp0 下,你的 webapp 被称为 File_Demo.

所以正确的图像路径应该是 1011_1.png(或者 ../1011_1.png 如果你的 struts 动作在某个包内)。