20米加长修正带 2019-12-07 10:52 采纳率: 50%
浏览 619

JSP在页面内显示所有表单信息,对某一行进行修改操作,结果所有数据都进行传值了?

我想对这个页面中的一项信息进行修改,原显示是这样的图片说明

然后问题来了,我对选中对待某一行做了修改操作后,网页传值是这样的:

lhost:8084/JavaWebTest6/Subscripton.jsp?mailserver=qq.com&mailusernae=zsq&mailpassword=1&mailservertype=1&Username=null&mailserver=126.com&mailusernae=zs&mailpassword=1&mailservertype=2&Username=null&mailserver=136.com&mailusernae=ad&mailpassword=1&mailservertype=POP3&Username=null&mailserver=qq.com&mailusernae=w&mailpassword=q&mailservertype=1&Username=null&mailserver=136.com&mailusernae=e&mailpassword=e&mailservertype=e&Username=null&mailserver=qq.com&mailusernae=q&mailpassword=q&mailservertype=q&Username=null&Mailserver=&Mailusernae=&Mailpassword=&Mailservertype=&Username=null*

很明显,把所有值都传过来了,下面是显示页的代码(有标注的地方是有问题的地方):

<%-- 
    Document   : mainMenu
    Created on : 2019-11-7, 11:28:27
    Author     : Administrator
--%>

<%@page language ="java" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<!DOCTYPE html>
<html>
    <head>
        <title>用户账号管理系统</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <div></div>
        <h2><b>用户账号及邮箱信息维护界面</b></h2>

        <table frame="hsides">
             <%  String username=request.getParameter("name");
                    out.println("用户名:"+username);
                %>
            <tr>


                <a href="account.jsp?username=<%=username%>">修改密码</a><br>
            </tr>
            <tr><br></tr>
            <tr>
                <td><input type="text" disabled="true" value="邮箱主机"></td>
                <td><input type="text" disabled="true" value="邮箱用户名"></td>
                <td><input type="text" disabled="true" value="邮箱密码"></td>
                <td><input type="text" disabled="true" value="邮箱服务器类型"></td>
            </tr>
            <%

                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                Connection conn = DriverManager.getConnection("jdbc:odbc:ACCountdb");
                Statement stat = conn.createStatement();

                String sql = "SELECT * FROM TB_SUBSCRIPTION WHERE USERNAME='"+username+"'";
        ResultSet rs = stat.executeQuery(sql);

                //这里写的循环直接导致后面传值的时候,所有表中数据都传过去了

        while (rs.next()){
            //String username = rs.getString("USERNAME");
            String mailserver = rs.getString("MAILSERVER");
                        String mailusernae = rs.getString("MAILUSERNAE");
                        String mailpassword = rs.getString("MAILPASSWORD");
                        String mailservertype = rs.getString("MAILSERVERTYPE");
            %>      
            <form action="Subscripton.jsp">
                <tr> <br>             
                <td><input type="text"  value='<%=mailserver%>' name="mailserver" ></td>
                <td><input type="text" value='<%=mailusernae%>' name="mailusernae"></td>
                <td><input type="text" value='<%=mailpassword%>' name="mailpassword"></td>
                <td><input type="text" value="<%=mailservertype%>" name="mailservertype"></td>
                <td><input type="submit"  value="修改邮箱信息"></td>
                <td><a href="delSubscription.jsp?mailserver=<%=mailserver%>&mailusernae=<%=mailusernae%>">删除</a></td>
                <td><input name="Username" value='<%=username%>'</td>
                </tr>
            <%  
                }
                stat.close();
                conn.close();
            %>

            <form action="addSubscription.jsp">
            <tr>
                <br>
                <td><input type="text" name="Mailserver"></td>
                <td><input type="text" name="Mailusernae"></td>
                <td><input type="password" name="Mailpassword"></td>
                <td><input type="text" name="Mailservertype"></td>
                <td><input type="submit" value="添加新邮箱"></td>
                <td><input name="Username" value='<%=username%>'</td>

            </tr>
            </form>
        </table>

        <a href="login.jsp">退出</a>
    </body>
</html>

这是修改页的代码:

<%-- 
    Document   : Subscripton
    Created on : 2019-12-7, 10:01:00
    Author     : Administrator
--%>

<%@page language="java" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>用户账号管理系统</title>
    </head>
    <body>

       <%

           String username=request.getParameter("Username");
           String mailserver=request.getParameter("mailserver");
           String mailusernae=request.getParameter("mailusernae");

       %>
        <form action="editSubscripton.jsp?mailserver=<%=mailserver%>&mailusernae=<%=mailusernae%>">
            用户名:<input type="text" name="Username" value="<%=username%>"><br><br>
            邮箱密码:<input type="text" name="mailpassword">*<br><br>
            邮箱服务器类型: <input type="text" name="mailservertype">*<br><br>
            <input type="submit" value="修改">
            <input type="reset" value="重置">
        </form>
        <a href="mainMenu.jsp">返回</a>
    </body>
</html>

希望能得到解答!感谢!!

  • 写回答

1条回答 默认 最新

  • laocooon523857886 2024-01-06 10:07
    关注

    USERNAME='"+username+"'"
    USERNAME like username

    SELECT * FROM 表名 WHERE 字段名 LIKE '目标字符串';

    看了你代码,然后你发的图我看不了。所以具体情况不了解。

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?