[英]How to show image on JSP using Spring MVC
//My Controller which handles image and Data
@RequestMapping(value = "/student/edit/{id}/", method = RequestMethod.GET)
public ModelAndView editStudent( @PathVariable Integer id,
ModelMap model,
HttpServletRequest request,HttpServletResponse response) throws IOException {
Student student=studentservice.retieveStudent(id);
byte[] studentImage = student.getUserImage();
response.setContentType("image/png");
response.getOutputStream().write(studentImage);
response.getOutputStream().flush();
model.addAttribute("studentImage","studentImage")
model.addAttribute("studentName",student.getStudentName);
model.addAttribute("studentDetails",student.getStudentDetails);
return new ModelAndView("viewstudent");
}
student.jsp
<a href=student/edit/12><h1>Edit<h1></a>
viewstudent.jsp
<div>
<table> <tr><td>Student Name=${studentName}</td></tr>
<tr><td>StudentDetails=${studentDetails}</td></tr>
<img src=data:image/jpeg;base64,"<c:out value='${studentImage}'/>" alt="my image" />
</table>
当我单击链接仅编辑图像时,浏览器中将显示图像,而不能显示viewstudent.jsp页面,如何从数据库中获取数据后在viewstudent.jsp中显示图像以及数据
您似乎不了解HTTP和HTML的工作方式。
要显示包含图像的HTML页面,您需要两个HTTP请求。 第一个获取HTML页面。 HTML页面包含一个标签,例如
<img src="location_of_the_image" />
然后浏览器解析HTML,发现其中包含img
标签,然后向图像位置发送第二个HTTP请求。 对第二个HTTP请求的响应包含图像的字节。
因此,您的控制器中应该有两种方法:一种返回用于渲染HTML页面的ModelAndView,另一种加载图像的字节,设置内容类型并将字节发送到响应OutputStream。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.