gpt4 book ai didi

java - 如何使用 sendirect() 方法将搜索查询从 servlet 传递到 jsp

转载 作者:太空宇宙 更新时间:2023-11-03 10:47:30 25 4
gpt4 key购买 nike

我正在尝试在 servlet 中执行搜索查询并将其加载到 jsp 表的原始数据中。


    Connection dbCon = null;
PreparedStatement state = null;
ResultSet rs = null;
String insert_sql = "insert into item(name,unit_price) values(?,?)";
String search_sql = "select * from item";
try {
String item_name = request.getParameter("item_name");
String up = request.getParameter("unit_price");
try {
dbCon = DB.JDBC.getConnection();
state = dbCon.prepareStatement(insert_sql);
dbCon.setAutoCommit(false);

state.setString(1, item_name);
state.setString(2, up);
state.executeUpdate();

dbCon.commit();


rs = state.executeQuery(search_sql);
while (rs.next()) {
String item_id = rs.getString("item_id");
String name = rs.getString("name");
String unit_price = rs.getString("unit_price");
String qty = rs.getString("qty");
try {
response.sendRedirect("index.jsp?item_id=" + item_id + "&name=" + name + "&unit_price=" + unit_price + "&qty" + qty);
} catch (Exception e) {
e.printStackTrace();
}


}
response.sendRedirect("index.jsp?msg=New Item added successfully");
} catch (Exception e) {
e.printStackTrace();
dbCon.rollback();
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}


插入工作正常。搜索的第一条记录也会加载到浏览器的搜索栏中。这是我的 jsp 查询。

               <tr>
<td><% request.getParameter("item_id");%></td>
<td><% request.getParameter("name");%></td>
<td><% request.getParameter("unit_price");%></td>
<td><% request.getParameter("qty");%></td>
</tr>

我认为问题在于参数传递。我对 jsp 有点陌生。所以不知道所有的语法。请帮我。


编辑 1我是这样改jsp的。

                <%
ResultSet rs = (ResultSet) session.getAttribute("rs");
while (rs.next()) {
String item_id = rs.getString("item_id");
String name = rs.getString("name");
String unit_price = rs.getString("unit_price");
String qty = rs.getString("qty");
%>
<tr>
<td><%=item_id%></td>
<td><%=name%></td>
<td><%=unit_price%></td>
<td><%=qty%></td>
</tr>
<%}%>
</tbody>


还有这样的servlet

   rs = state.executeQuery(search_sql);

session.setAttribute("rs", rs);
response.sendRedirect("index.jsp"); //redirect to jsp without any params

现在我在 jsp 中开始时的行中有 org.apache.jasper.JasperException。

这是错误。 enter image description here

最佳答案

加入你的servlet

request.setAttribute("rs",rs);

RequestDispatcher rd=request.getRequestDispatcher("your url");
rd.forward(request, response);

jsp页面

ResultSet rs = (ResultSet)request.getAttribute("rs");

<%while (rs.next()) {
String item_id = rs.get(0);
String name = rs.get(1);
String unit_price = rs.get(2);
String qty = rs.get(3);
%>
<tr>
<td><%=item_id%></td>
<td><%=name%></td>
<td><%=unit_price%></td>
<td><%=qty%></td>
</tr>

关于java - 如何使用 sendirect() 方法将搜索查询从 servlet 传递到 jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29506779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com