Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java struts属性标记不使用<;img src>;jsp中的标记_Java_Jsp_Struts2 - Fatal编程技术网

Java struts属性标记不使用<;img src>;jsp中的标记

Java struts属性标记不使用<;img src>;jsp中的标记,java,jsp,struts2,Java,Jsp,Struts2,我试图通过从数据库检索路径,使用JavaBean和Struts 2在JSP页面上显示图像文件。“/> 因此,首先在呈现页面中检查img标记是否确实包含正确的路径参数(您说您试图打印它,但更好的是dbl检查)。(查看源代码,或在Firefox中,右clikc和inspect元素) 但是,主要的问题是你的实际路径。从这个问题来看,它是指向C:驱动器上某个目录的绝对路径。但不是你的浏览器直接从驱动器获取该文件,而是服务器提供该文件,所以你的服务器(我想是tomcat??)需要能够解析特定文件的路径。通

我试图通过从数据库检索路径,使用JavaBean和Struts 2在JSP页面上显示图像文件。
“/>

因此,首先在呈现页面中检查img标记是否确实包含正确的路径参数(您说您试图打印它,但更好的是dbl检查)。(查看源代码,或在Firefox中,右clikc和inspect元素)

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

在webapp中,它将是与您的webapp子文件夹相关的文件: 查看
…\org.eclipse.wst.server.core\tmp0\wtpwebapps\File\u Demo\1011\u 1.png
。 我猜(我自己没有使用eclipse),您的服务器在
org.eclipse.wst.server.core\tmp0
下,您的webapp名为
File\u Demo


因此,图像的正确路径应该仅为
1011_1.png
(或者
。/1011_1.png
,如果struts操作在某个包中)。

为什么
%{path}
而不是
${path}
图像是相对于您的应用程序提供的,或者通过将图像放在已知位置并从操作或servlet流式传输图像,或者通过将服务器位置映射到该路径等方式提供图像。
<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
<%@ taglib uri="/struts-tags"  prefix="s"%>
<html>
  <body>
    <img alt=":p" src="<s:property value='%{path}'/>"/>
  </body>
</html>