Java 如何从多个图像中获取图像id,使用它获取有关图像的全部数据,并在单击图像时在不同页面上显示
用于显示多个图像并尝试获取其id的代码[currency.jsp]Java 如何从多个图像中获取图像id,使用它获取有关图像的全部数据,并在单击图像时在不同页面上显示,java,html,mysql,jsp,servlets,Java,Html,Mysql,Jsp,Servlets,用于显示多个图像并尝试获取其id的代码[currency.jsp] <div class="container-1" style="background-color:white"> <div style="color:Red;font-size:1.1em;font-weight:bolder;">${err}</div> <% try { DBConnector obj2=new DBConnector(); obj2.createCo
<div class="container-1" style="background-color:white">
<div style="color:Red;font-size:1.1em;font-weight:bolder;">${err}</div>
<%
try
{
DBConnector obj2=new DBConnector();
obj2.createConn();
Statement st=null;
st=obj2.getStatement();
ResultSet rs=null;
String query="select itemid,itemname,itemprice from currency";
rs=st.executeQuery(query);
int i=0;
%>
<table>
<%
while(rs.next())
{
int price=Integer.parseInt(rs.getString("itemprice"));
int id=Integer.parseInt(rs.getString("itemid"));
String name=rs.getString("itemname");
if(i==0)
{
%>
<tr>
<%
}
%>
<td style="width:220px;height:250px">
<form id="formimgid" action="Getdetailinfo" method="post">
<input type="hidden" name="getimgid" value="<%=id%>">
<a href="#" onclick="document.getElementById('formimgid').submit()">
<div class="cont">
<img src="Getimage.jsp?id=<%=id%>" width="220" height="150">
<div><%=name%></div><br>
<div>Price = <%=price%></div>
</div>
</a>
</form>
</td>
<%
if(i==3)
{
i=0;
%>
</tr>
<%
}
else
{
i++;
}
}
%>
</table>
<%
rs.close();
st.close();
obj2.closeConn();
}
catch(SQLException e)
{
System.out.println(e);
}
%>
</div>
</div>
${err}
Getimage.jsp的代码
<%
try
{
DBConnector obj1=new DBConnector();
obj1.createConn();
Statement st=obj1.getStatement();
ResultSet rs=null;
int id=Integer.parseInt(request.getParameter("id"));
String filename="image"+id+".jpg";
String query="select img from currency where itemid='"+id+"'";
{
rs=st.executeQuery(query);
String imglen="";
if(rs.next())
{
imglen=rs.getString("img");
}
rs=st.executeQuery(query);
if(rs.next())
{
int len=imglen.length();
byte rb[]=new byte[len];
InputStream readimg=rs.getBinaryStream("img");
int index=readimg.read(rb,0, len);
rs.close();
st.close();
obj1.closeConn();
response.setContentType("image/jpg");
response.setHeader("Content-disposition","attachment; filename=" +filename);
response.getOutputStream().write(rb,0,len);
response.getOutputStream().flush();
}
}
}
catch(SQLException e)
{
System.out.println(e);
}
%>
我现在可以获取和显示我想要的多个图像,当我单击一个图像时,它将打开一个包含该图像信息的新页面,我从任何地方都没有得到帮助。我在currency.jsp中使用的表单标记是无用的,它只存储第一个图像的id。在这里,我尝试在用户使用时获取图像id单击它,然后使用该id从数据库中获取数据,并将其显示在另一个页面上。任何帮助或其他选择都将不胜感激
我使用Mysql作为数据库,使用Jsp servlet作为前端。如果我理解正确,您希望在用户单击图像、名称或价格时将图像id传递到下一页 因此,在您的currency.jsp页面中,用以下内容替换您的td标记
<td style="width:220px;height:250px">
<a href="Getdetailinfo.jsp?id=<%=id%>">
<div class="cont">
<img src="Getimage.jsp?id=<%=id%>" width="220" height="150">
<div><%=name%></div><br>
<div>Price = <%=price%></div>
</div>
</a>
</td>
在我的代码中,我假设将包含图像详细信息的页面称为Getdetailinfo.jsp,如果不是,则在标记的href属性中更改它
在Getdetailinfo.jsp页面中,您可以使用
<%
int image_id = Integer.parseInt(request.getParameter("id"));
out.println(image_id);
%>
我没有jsp方面的经验,但我假设您可以像在getimage.jsp页面中那样,从querystring获取id