使用Spring MVC 3在jsp页面中显示blob图像

时间:2011-08-07 15:23:32

标签: spring jsp spring-mvc

我有一个课程(其中包括)从数据库中检索到的字段图片:

public class Person {
  String name;
  Blob picture;
}

那么我有一个控制器,我将person对象添加到模型

@RequestMapping(value = "/online", method = RequestMethod.GET)
public String getCurrentUser(Model model) {
  Person person = getMyPerson()
  model.addAttribute("person", person);
  return "online";
}

最后我有一个.jsp页面来显示用户:

<html>
  <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
   ..some tags

   Persons name: ${person.name}
   Persons picture: ?your_answer_here? 
</html>

所以问题(显然)是如何将blob字段显示为图像?我尝试过但失败了。我真的不想对数据库执行新的查询,我只想显示我已有的图像..

1 个答案:

答案 0 :(得分:2)

HTTP不允许直接使用此功能。每个图像都需要是对单独URL的单独请求。所以你需要一个接受用户id作为参数的控制器/ servlet,并将blob写入响应流(并适当设置Content-Type标题 - image / jpeg,image / png等)