gpt4 book ai didi

java - 使用 Spring MVC(来自数据库)显示图像和文本

转载 作者:行者123 更新时间:2023-11-30 05:51:29 24 4
gpt4 key购买 nike

我想使用 Spring MVC 3 显示图像 AND 字符串。两者都是我使用 Hibernate 从数据库中检索的 POJO 的实例变量。

@Entity
@Table(name = "document")
public class Document {

//id

@Column(name = "name")
private String name; // the String

@Basic(fetch = FetchType.LAZY)
@Column(name="content")
private byte [] image;
//getters setters

我想使用 Spring MVC 3 在 .jsp 页面上显示图像并且在它旁边显示字符串。目前,我可以ONLY 通过流式传输图片并将字符串打印到控制台来显示图片,但这不是我想要的。 (当然我可以显示字符串,但是如果我显示字符串,那么我就无法显示图像。)我想显示两者,在同一页面上,彼此相邻。

@RequestMapping(value = "/displayDocument", method = RequestMethod.POST)
public void displayDocument(@RequestParam("documentId") String documentId, HttpServletResponse response) {

Document doc = documentService.get(Long.valueOf(documentId));

System.out.println(doc.getName());

if (doc.getImage() != null) {
response.setContentType("image/jpg");
try {
response.getOutputStream().write(doc.getImage());
response.getOutputStream().flush();
response.getOutputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}

}

我不想相信没有任何聪明的解决方案可以实现这一目标....

最佳答案

我认为您对 http 协议(protocol)的工作原理有点误解。网络浏览器总是在单独的请求中自动获取图像(这也适用于 <script><style><img> 和其他一些标签)。 所以基本上,您想构造一个 JSP 页面,在其中显示名称以及

<img src="/viewimage?id=${theDocumentId}"/> .

viewimage 可能是您提供图像的 servlet。

关于java - 使用 Spring MVC(来自数据库)显示图像和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12664332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com