一个通过点击书名超链接后在表格固定位置显示图片
我通过在表格位置插入jsp语句来显示
出现Unable to compile class for JSP
The method append(Object) in the type StringBuffer is not applicable for the arguments (void)
<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@ include file="Connections/mysqltest.jsp" %>
<%@page import="java.sql.*" %>
<%@page import="java.io.*" %>
<%@page import="java.util.*" %>
<%
StringBuffer jspimage=new StringBuffer();
String id=request.getParameter("id");
int id=Integer.parseInt(temp);
String sql = "select picture from book where id ="+id;
Statement stmt=Connrsbookdet.createStatement(); //数据源Connrsbookdet
ResultSet rs=stmt.executeQuery(sql);
InputStream in=null;
response.reset();
response.setContentType("image/jpeg"); //返回文件类型
ServletOutputStream sout=response.getOutputStream();
try {
if(rs.next())
{
in=rs.getBinaryStream("picture");
byte image[]=new byte[1024];
while(in.read(image)!=-1)
{
jspimage.append(sout.write(image));
//sout.write(image);
}
sout.flush();
sout.close();
rs.close();
stmt.close();
}
}catch (Exception e){
sout.println("图片不能显示.<br>");
sout.println("Error : " + e.toString());
}
%>
<html>
<head>
</head>
<body>
<form action="userlist.jsp" method="post">
<tr>
<td>图片:</td>
<td><%=jspimage%></td>
</tr>
</table>
</form></body>
</html>
我通过在表格位置插入jsp语句来显示
出现Unable to compile class for JSP
The method append(Object) in the type StringBuffer is not applicable for the arguments (void)
<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@ include file="Connections/mysqltest.jsp" %>
<%@page import="java.sql.*" %>
<%@page import="java.io.*" %>
<%@page import="java.util.*" %>
<%
StringBuffer jspimage=new StringBuffer();
String id=request.getParameter("id");
int id=Integer.parseInt(temp);
String sql = "select picture from book where id ="+id;
Statement stmt=Connrsbookdet.createStatement(); //数据源Connrsbookdet
ResultSet rs=stmt.executeQuery(sql);
InputStream in=null;
response.reset();
response.setContentType("image/jpeg"); //返回文件类型
ServletOutputStream sout=response.getOutputStream();
try {
if(rs.next())
{
in=rs.getBinaryStream("picture");
byte image[]=new byte[1024];
while(in.read(image)!=-1)
{
jspimage.append(sout.write(image));
//sout.write(image);
}
sout.flush();
sout.close();
rs.close();
stmt.close();
}
}catch (Exception e){
sout.println("图片不能显示.<br>");
sout.println("Error : " + e.toString());
}
%>
<html>
<head>
</head>
<body>
<form action="userlist.jsp" method="post">
<tr>
<td>图片:</td>
<td><%=jspimage%></td>
</tr>
</table>
</form></body>
</html>
和jspimage.append(sout.write(image));改成sout.write(image);
直接输出就能显示
请问怎样在jsp中任意位置插入jsp语句
不是主要的
jspimage.append(sout.write(image));
sout.write(image)获取为空....
提示不是很清楚了吗,参数需要Object类型的参数,你sout.write(...)是返回空的,当然会出错
<%@ include file="Connections/mysqltest.jsp" %>
<%@page import="java.sql.*" %>
<%@page import="java.io.*" %>
<%@page import="java.util.*" %>
<%
StringBuffer jspimage=new StringBuffer();
String id=request.getParameter("id");
int id=Integer.parseInt(temp);
String sql = "select picture from book where id ="+id;
Statement stmt=Connrsbookdet.createStatement(); //数据源Connrsbookdet
ResultSet rs=stmt.executeQuery(sql);
InputStream in=null;
response.reset();
response.setContentType("image/jpeg"); //返回文件类型
ServletOutputStream sout=response.getOutputStream();
try {
if(rs.next())
{
in=rs.getBinaryStream("picture");
byte image[]=new byte[1024];
while(in.read(image)!=-1)
{
jspimage.append(sout.write(image));
//sout.write(image);
}
sout.flush();
sout.close();
rs.close();
stmt.close();
}
}catch (Exception e){
sout.println("图片不能显示.<br>");
sout.println("Error : " + e.toString());
}
%>show.jsp <table>
<tr>
<td>图片:</td>
<td><img src="image.jsp?id=i"></td>
</tr>
</table>
<tr>
<td>图片:</td>
<td><img src="image.jsp?id=i"></td>
</tr>
</table>
我用src="image.jsp?id=i现实为打叉
试过用连接servlet也一样
正确设置什么?
//sout.write(image);
-------->sout.write(image)试试。