我现在做了两个JSP页面,在页面1上点击修改进入页面2,请问如何通过页面所选数据库表记录的id号,让该条需要修改记录的信息显示在界面2的一些text上呢?  
本人是新手,求助各位了?
页面1是:page1.jsp 其中有一条这样的语句链接到page2.jsp中去
 <td class="table"><a href="page2.jsp?id=<%=result.getInt("id")%>">修改</a></td>

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【juchao】截止到2008-06-24 15:30:02的历史汇总数据(不包括此帖):
    发帖数:31                 发帖分:1922               
    结贴数:22                 结贴分:1242               
    未结数:9                  未结分:680                
    结贴率:70.97 %            结分率:64.62 %            
    楼主加油
      

  2.   

    在page2里面从request里面得到id ,然后查数据库得到具体信息
    如下://这里是Page2
    String id=(String)request.getParameter("id");
    //查数据库的代码自己写喽查到数据后显示就是了.
      

  3.   

    ""的使用有问题,原则是双套单href="这里面要用单引号('')",另外记得销毁result
      

  4.   

    //这里是Page2
    String id=(String)request.getParameter("id");
    //查数据库的代码自己写喽
    这段代码在Page2中我也写了啊,但是如何让那些text 显示原来的数据呢?
      

  5.   

    String id=(String)request.getParameter("id");
    然后根据id来查询此记录的详细的信息。
      

  6.   

    在jsp2中通过<%request.getParameter("id")%>获得参数,然后从数据库查询次id的一条数据
    也可以,传递你想要修改的参数,然后直接显示在文本框中,可以进行修改
      

  7.   

    page2中我写了
    if (request.getParameter("id")!=null) id=Integer.parseInt(request.getParameter("id"));啊?
      

  8.   

    if(id!=0)
    {
    sqlstr="select * from table111 where id=?";
    ps=conn.prepareStatement(sqlstr);
    ResultSet rs=ps.executeQuery();
    Pid=rs.getString("pid");
    Pname=rs.getString("pname");
    Pkind=rs.getString("pkind");
    Puseful=rs.getString("puseful");
    Pdomain=rs.getString("pdomain");
    Plag=rs.getString("plag");
    Pen=rs.getString("pen");
    id=rs.getInt("id");
    Proad=rs.getString("proad");
    }
    此处id=rs.getInt("id");写对吗?
      

  9.   

    在Page2.jsp页面里通过以下语句获得你传递的id值:
    String id=(String)request.getParameter("id"); 
    然后根据获得到的id到数据库查询相关记录信息 并显示出来就可以了!
      

  10.   

    如果你字段是整形数据类型的话 用getInt()获得是对的。可我觉得你那个语句执行起来有问题吧?你 sqlstr="select * from table111 where id=?";  但我没看到你代替问号的参数啊?是不是少写了句  ps.setint(1,id); 啊?
      

  11.   

    可能我理解能力太差,上面都有给你解释过了,你的意思就想吧jsp1数据传到JSP2中进行修改。你直接传个id过去以后 request去获取,然后再从数据库里面查询出来 显示在页面。建议直接在本页面执行修改,你那样写会不会JSP冗余了本页面判断下if(request.getMethod().equalsIgnoreCase("post")) 或者get ,然后直接修改就可以了
      

  12.   

    多谢这么多热心人哦,我看看先 始终没明白那个id是怎么传过来的,这边SQL语句的where该如何写?
      

  13.   

    if(id!=0)
    {
    sqlstr="select * from table111 where id=?";
    ps=conn.prepareStatement(sqlstr);
    ps.setInt(1,id);
    ResultSet rs=ps.executeQuery();
    Pid=rs.getString("pid");
    Pname=rs.getString("pname");
    Pkind=rs.getString("pkind");
    Puseful=rs.getString("puseful");
    Pdomain=rs.getString("pdomain");
    Plag=rs.getString("plag");
    Pen=rs.getString("pen");
    Proad=rs.getString("proad");
    }if (id!=0)

    sqlstr="update table111 set pname=?,pkind=?,puseful=?,pdomain=?,plag=?,pen=?,proad=? where pid=?";
    ps=conn.prepareStatement(sqlstr);
    ps.setString(1,Pname);
    ps.setString(2,Pkind);
    ps.setString(3,Puseful);
    ps.setString(4,Pdomain);
    ps.setString(5,Plag);
    ps.setString(6,Pen);
    ps.setString(7,Proad);
    ps.setString(8,Pid); 
    ps.executeUpdate();
    }
    我改成这样了,但还是报错了,大侠们帮我看看~~~~
      

  14.   

    org.apache.jasper.JasperException: Exception in JSP: /pluginModify.jsp:5249: ps=conn.prepareStatement(sqlstr);
    50: ps.setInt(1,id);
    51: ResultSet rs=ps.executeQuery();
    52: Pid=rs.getString("pid");
    53: Pname=rs.getString("pname");
    54: Pkind=rs.getString("pkind");
    55: Puseful=rs.getString("puseful");
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)报错信息如上。
      

  15.   


    楼上有一位讲到要销毁result,不知道是啥意思??
      

  16.   

    这是你在page1.jsp页面中查询出来的某一条记录的连接 提交页面是page2.jsp!传过去个参数叫id,值是result.getInt("id")。也就是你在数据库中查询出来的id字段!这么说懂了吧?        <td class="table"> <a href="page2.jsp?id= <%=result.getInt("id")%>">修改 </a> </td>
    现在到了page2.jsp页面了 因为你刚才传了一个名为id的参数,所以在这页就可以定义一个变量接受这个参数值 String id=request.getParameter("id"); 这句没啥解释的了吧!看你发的代码 估计你数据库里id的字段是整数类型,所以你判断下 接收到的这个参数值是否为空 如果不为空 把它转换成整形。
    int int_id=0;
    if (id!=null) {
    int_id=Integer.parseInt(id));
    }
    然后根据这个id查询数据库里符合的记录 
    sqlstr="select * from table111 where id=?"; //查询id为XX的记录
    ps=conn.prepareStatement(sqlstr); //
    ps.setInt(1,int_id); //对应问号位置参数
    ResultSet rs=ps.executeQuery(); //执行SQL语句
    /* 以下是查询出数据后获得相信信息
    Pid=rs.getString("pid"); 
    Pname=rs.getString("pname"); 
    Pkind=rs.getString("pkind"); 
    Puseful=rs.getString("puseful"); 
    Pdomain=rs.getString("pdomain"); 
    Plag=rs.getString("plag"); 
    Pen=rs.getString("pen"); 
    id=rs.getInt("id"); 
    到这结束  */
      

  17.   

    我好像也遇到了相同的問題
    兩個jsp葉面jsp1和jsp2,在jsp1中的一條記錄后點擊查看,得到jsp1上這條記錄的id
    然后跳轉到jsp2上﹐jsp2通過id查詢到另就張表胡內容