簡體   English   中英

將值從JSP scriptlet傳遞到servlet

[英]Passing value from JSP scriptlet to servlet

我想顯示表內容並編輯基於相應ID的特定行,該唯一ID是通過單擊相應行的提交按鈕獲取的唯一ID。

下面的代碼用於列出表中所有記錄,並在每行上帶有“編輯”按鈕:

<TABLE align="Center" border="1px" width="80%">
    <%Iterator itr;%>
    <%List data=(List) request.getAttribute("UserData");
    for(itr=data.iterator();itr.hasNext();)
    {%>
        <tr>
            <% String s= (String) itr.next(); %> <!-- Stores the value (uniquie id) in the String s -->
            <td><%=s %></td>
            <td><%=itr.next() %></td>
            <td><%=itr.next() %></td>
            <td><%=itr.next() %></td>

當我單擊編輯按鈕時,我想從第一列和第一行獲取包含唯一ID的值。 下面給出了從字符串“ s”中獲取值的代碼:

<form id="edit" action="EditRecord" method="post"  onsubmit=<%=s %>>
  <td><input type="submit" value="Edit" name="edit"> </td>
</form>

現在,我想將存儲在String中的該值傳遞給我的servlet“ EditRecord”,但是不知何故該值沒有傳遞。

servlet的代碼如下:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    Connection conn;
    Statement stmt;
    ResultSet res = null;
    String id   ;
    String query;
    DatabaseConnection dbconn;


//  protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();

    try{

        id=request.getParameter("id");
        System.out.println(id);
        dbconn=new DatabaseConnection();
        conn=dbconn.setConnection();
        System.out.println(conn);
        stmt=conn.createStatement();
        System.out.println(stmt);
        query="select * from user_details where User_id="+id;
        res=dbconn.getResultSet(query, conn);
        System.out.println(res);

    }catch (Exception e)
    {

    }finally{
        request.setAttribute("EditData",res );
        RequestDispatcher rd=request.getRequestDispatcher("/editdata.jsp");
        rd.forward(request, response);
        out.close();
    }


    }

}

誰能告訴我我在哪里犯錯..請指導我

提前致謝

單擊提交按鈕時,將調用onSubmit事件,但不會將任何數據發送到服務器。

對於您的情況,我建議您向表單添加隱藏的輸入 ,因此單擊“提交”按鈕后,它將被發送到服務器。 檢查以下代碼:

<form id="edit" action="EditRecord" method="post" >
  <td><input type="hidden" id="id" value="<%=s %>"/>
  <input type="submit" value="Edit" name="edit"> </td>
</form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM