gpt4 book ai didi

java - 将 JSP 表中的更改保存到数据库中

转载 作者:行者123 更新时间:2023-11-29 10:28:32 25 4
gpt4 key购买 nike

我有一个显示数据库内容的表。我想将表中编辑的更改保存到我的数据库中。问题是,无论我编辑哪一行,每次我尝试保存时,它都会将第一行的值作为参数。

Main.jsp:

<FORM NAME="form1" METHOD="POST" action="update.jsp">
<table>
<% ResultSet rs=statement.executeQuery(query);
while(rs.next())
{%>
<tr>
<td style="display:none;"><input type="text" name="id" value="
<%=rs.getInt("ID") %>"></td>
<td><input type="text" name="val1" value="<%=rs.getString("Value1") %>"></td>
<td><input type="text" name="val2" value="<%=rs.getString("Value2") %>"></td>
<td><input type="submit" name="Submit" value="Save"></td>
</tr>
<% } %>
</table>
</FORM>

更新.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="java.sql.*,java.io.*,java.util.*,dbcon.SQLConnection" %>
<% String idRez=request.getParameter("id");
String v1=request.getParameter("val1");
String v2=request.getParameter("val2");
SQLConnection.updateDatabase(idRez,Double.parseDouble(v1), Double.parseDouble(v2));
response.sendRedirect("Main.jsp");
%>

最佳答案

由于 Main.jsp 中的所有行都具有相同的名称(id, val1, val2 ),每当您执行 request.getParamater() 调用时,都会返回第一个匹配的参数。

您可以通过如下方式获取所有参数值来解决此问题。

String[] ids = request.getParameterValues("id");

您必须相应地修改 Main.jsp 以确保在 update.jsp 中获取正确的值组合

但是,由于您只想提交单击Save的行,因此您可以在该行上声明Form,而不是使用全局Form .

<!--FORM NAME="form1" METHOD="POST" action="update.jsp"-->
<table>
<% ResultSet rs=statement.executeQuery(query);
while(rs.next())
{%>
<tr>
<td style="display:none;">
<FORM NAME="form1" METHOD="POST" action="update.jsp">
<input type="text" name="id" value="
<%=rs.getInt("ID") %>"></td>
<td><input type="text" name="val1" value="<%=rs.getString("Value1") %>"></td>
<td><input type="text" name="val2" value="<%=rs.getString("Value2") %>"></td>
<td><input type="submit" name="Submit" value="Save"></FORM></td>
</tr>
<% } %>
</table>
<!--/FORM-->

关于java - 将 JSP 表中的更改保存到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47864378/

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