我想使用 Spring MVC 3 显示图像和字符串。两者都是我使用 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 页面上显示图像并在其旁边显示字符串。目前我只能通过流式传输并将字符串打印到控制台来显示图片,但这不是我想要的。(当然我可以显示字符串,但如果我显示字符串,那么我就无法显示图像。)我想在同一页面上显示两者,彼此相邻。
@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();
}
}
}
我不想相信没有任何聪明的解决方案可以实现这一目标......