Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从多个图像中获取图像id,使用它获取有关图像的全部数据,并在单击图像时在不同页面上显示_Java_Html_Mysql_Jsp_Servlets - Fatal编程技术网

Java 如何从多个图像中获取图像id,使用它获取有关图像的全部数据,并在单击图像时在不同页面上显示

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

用于显示多个图像并尝试获取其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.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