java - 在 jsp 中显示来自 struts2 操作变量路径的图像

标签 java struts2

我有一个struts2 Action ,它有一个图像变量,我想在jsp页面中显示该图像。当我使用以下命令显示变量的值时:

<s:property value="variableName" />

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

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

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

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

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

编辑:我做了一些思考。设置的镜像路径在tomcat的temp文件夹中。是因为这个原因我无法访问它吗?

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

最佳答案

在进行 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>

关于java - 在 jsp 中显示来自 struts2 操作变量路径的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21672990/

相关文章:

java - 创建类似于 WCF 的 JSON/XML REST Web 服务的最佳 Java 方式是什么?

java - HashMap 不同步那么并发修改异常的原因

java - Struts 2 和 Hibernate 登录表单

java - 显示来自Mysql数据库的图像,而不存储到本地系统

java - struts2 中的多个应用程序属性,需要根据某些条件更改 java 中的属性文件?

java - Maven 构建错误 : mvn. bat 无法识别

java - Spring Boot : How to Disable JNDI lookup and use spring. 数据源代替测试?

java - 如何使 javascript 生成的 HTML 可被谷歌爬虫索引?

java - Struts2 操作 > JSP > 操作

java - 更新 sql 表时出现文字与格式字符串错误