【问题标题】:display image in jsp from path in struts2 action variable从struts2动作变量中的路径在jsp中显示图像
【发布时间】:2014-02-10 09:14:15
【问题描述】:

我有一个 struts2 动作,它有一个我想在 jsp 页面中显示的图像的变量。当我使用以下内容显示变量的值时:

<s:property value="variableName" />

我得到了图像文件的绝对路径。

但是当我尝试以下操作时:

<img src='<s:property value="variableName" />' />

我在那里得到一个空白。我什至尝试过以下方法:

<img src="${variableName}" />

编辑:我做了一些思考。设置的图像路径在tomcat的临时文件夹中。是因为我无法访问吗?

没有效果。这可能是什么问题?

【问题讨论】:

  • 你检查过它生成的html吗??
  • 在我想显示的地方没有显示任何内容
  • 发布它为此 ${variableName} 生成的 html"
  • 我必须知道原因。它无法访问 tomcat 临时文件夹
  • 为此,我想确保将 variableName 替换为您提供的位置。!如果找到链接,只需将链接粘贴到浏览器 url 选项卡中并检查其加载图像。

标签: java struts2


【解决方案1】:

在进行 Web 开发时,请始终牢记您在服务器上下文中拥有的内容以及传输到客户端浏览器的内容。如果您按照您的建议进行操作,您将呈现并发送给客户端,如下所示:

<img src="c:\my_local_directory\some_image.jpg"></img>

这对客户端浏览器毫无意义,它肯定在其他机器上执行。

您应该将图像存储在应用程序服务器可以显示它们的位置,并始终提供与您的 Web 应用程序相关的路径。例如,如果您将 some_image.jpg 直接存储在 my-app.war 文件中,则类似于:

<img src="/my-app/some_image.jpg"></img>

将始终有效。如果您需要优化该图像(假设您之前需要在其上放置水印)或需要从某个地方恢复其内容(数据库中的 BLOB 或类似的东西),您将需要一个全新的操作才能做到例如:

<img src="/my-app/ImageAction.action?image=some_image"></img>

【讨论】:

    【解决方案2】:

    img标签的src必须包含绝对路径,才可以指向客户端机器上的图片文件。

    如果variableName 包含这样的绝对路径

    http://localhost/images/pics/icon.gif
    

    img 将从服务器中查找图像。因此始终可用,因此您可以使用它。

    <img src="${variableName}"/>
    

    如果variableName 是相对路径,即;服务器可以识别的东西。

    /images/pics/icon.gif
    

    上面的路径会被服务器识别,但不会被远程机器识别。在这种情况下,您需要拥有这个

    <img src="<c:url value=variableName/>" />
    

    【讨论】:

      猜你喜欢
      • 2015-06-08
      • 2012-05-17
      • 2014-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多