You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JSP数据提交至SQL数据库时二次提交出现NULL值求助

问题原因

你遇到的数据库存入NULL的问题,本质是确认页面(Index1.jsp)的提交表单没有携带用户输入的数据。当前的表单只有一个提交按钮,点击后后端Register接口无法获取到任何参数,因此只能存入NULL。

解决方案

在确认页面的提交表单中添加隐藏输入框,把从首页传递过来的用户数据存储在这些隐藏字段里,这样点击提交时就能把数据一起发送给后端接口。

修改后的Index1.jsp代码

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>确认信息</title>
</head>
<body>
<h1>确认提交信息</h1>
    <%
    String id = request.getParameter("Id");
    String first = request.getParameter("First");
    String last = request.getParameter("Last");
    String email = request.getParameter("Email");
    String phone = request.getParameter("Phone");
    %>
<table border="1">
<tbody>
<tr>
    <td>ID : </td>
    <td><%=id %></td>
</tr>
<tr>
    <td>名字 : </td>
    <td><%=first %></td>
</tr>
<tr>
    <td>姓氏 : </td>
    <td><%=last %></td>
</tr>
<tr>
    <td>邮箱 : </td>
    <td><%=email %></td>
</tr>
<tr>
    <td>电话 : </td>
    <td><%=phone %></td>
</tr>
</tbody>
</table>

<!-- 修改后的表单:添加隐藏字段传递数据 -->
<form target="_blank" name="myform" action="Register" method="post" class="decor">
    <!-- 隐藏字段,存储用户数据 -->
    <input type="hidden" name="Id" value="<%=id %>">
    <input type="hidden" name="First" value="<%=first %>">
    <input type="hidden" name="Last" value="<%=last %>">
    <input type="hidden" name="Email" value="<%=email %>">
    <input type="hidden" name="Phone" value="<%=phone %>">
    
    <div>   
        <button type="submit" value="Submit" name="submit">确认提交</button>
    </div>
</form>
</body>
</html>

补充说明

  • 隐藏字段不会在页面上显示,但会随表单一起提交到后端。
  • 后端Register接口可以通过request.getParameter("Id")等方式正常获取到参数,从而正确存入数据库。

内容的提问来源于stack exchange,提问作者DyingAssassin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 17:39:54