0

我想在计算机上显示来自我本地位置的图像,我使用这个代码,它对我来说很好,

<%@ page import="java.io.*" %>
<%@page contentType="image/gif" %>
<%
    OutputStream o = response.getOutputStream();
    InputStream is = new FileInputStream(new File("D:/FTP/ECG/ecg.jpg"));
    byte[] buf = new byte[32 * 1024]; 
    int nRead = 0;
    while( (nRead=is.read(buf)) != -1 )
    {
      o.write(buf, 0, nRead);
    }

    o.flush();
    o.close();

%>

我的问题是我想用它来显示内容,还有其他的东西,比如输入框和标签。

4

2 回答 2

1

您在这里所做的是将图像流式传输到客户端。您需要的是一个引用此图像的 HTML 文档,例如:

<img src="path/to/your/jsp">
<p>Some other text</p>
于 2013-07-30T09:30:53.040 回答
0

Scriptlets = nono,代码的可读性要差得多。尽可能使用 JSTL。

要显示实际图像,请使用 html 标签

<img src="D:/FTP/ECG/ecg.jpg" />

假设您有一个要显示图像列表(从数据库加载)的页面。

在您的控制器中,在准备视图的方法中:

ModelAndView mv = new ModelAndView("yourView");
mv.addObject("imageList",imageList);
return mv;

imageList 只是您之前从数据库加载的文件名列表(列表)。

然后在你的jsp中你做:

<c:forEach items="${imageList}" var="path">
    <img src="yourPath/${path} />
</c:forEach>
于 2013-07-30T09:32:00.150 回答