【发布时间】:2015-11-12 14:59:15
【问题描述】:
我还是 servlet 和 JDBC 方面的新手,希望对以下代码有所帮助:
try{
String selectSQL = "select * from product_list where category = '"+category+"'";
Statement stmt = conn.createStatement();
ResultSet rs1 = stmt.executeQuery(selectSQL);
ArrayList<Float> idList = new ArrayList<Float>();
out.println("<table border=\"1\"><tr><th>Item_ID</th><th>Item_name</th><th>Title</th><th>Category</th><th>Image_name</th><th>Price</th><th>Stock_Count</th></tr>");
while(rs1.next()){
out.println("<tr><td>"+ rs1.getFloat("item_id") + "</td>");
out.println("<td>" + rs1.getString("item_name") + "</td>");
out.println("<td>"+"<a href =\"ItemDetail\">" + rs1.getString("title")+"</a>" + "</td>");
out.println("<td>" + rs1.getString("category") + "</td>");
out.println("<td>" + rs1.getString("image_name") + "</td>");
out.println("<td> " + rs1.getFloat("price") + "</td>");
out.println("<td> " + rs1.getFloat("stock_count") + "</td>");
out.println("</tr>");
HttpSession session = request.getSession(true);
idList.add(rs1.getFloat("recording_id"));
session.setAttribute("id", idList);
}
out.println("</table>");
conn.close();
} catch(SQLException se) {
System.err.println(se);
}
我想要做的是它将每个 item_id 存储在会话中,但只显示另一个 servlet 中用户单击其标题链接的详细信息(每个标题都有相同的超链接),我有试图将所有 id 存储在一个数组列表中,但在另一个接收数组列表的 servlet 上没有显示任何内容,我在那里做错了什么,任何帮助将不胜感激。
这是在不同的 servlet 中用于从上表接收属性的代码
HttpSession session = request.getSession(true);
ArrayList<Float> id = (ArrayList<Float>) session.getAttribute("id");
【问题讨论】:
-
代码已更新
-
那是一些非常讨厌的代码,但请尝试将 HttpSession 放在您打印的表格之前。在打印输出之前创建一个会话
-
我知道 -_- 代码很糟糕,在我打印表格之前放置 HttpSession 并没有什么不同,其他 servlet 中仍然没有显示任何内容,我认为有问题数组部分的代码。
标签: java arrays servlets jdbc httpsession