Java 在jsp中从表中获取行

Java 在jsp中从表中获取行,java,database,forms,jsp,servlets,Java,Database,Forms,Jsp,Servlets,我想处理表中的特定行(用户)。有很多用户。我想从表中获取用户id,单击并显示在另一页上。现在,我用的是邮寄表格。问题是Profile.jsp页面始终显示相同的用户id(例如,第一个2) jsp文件: //... <table> <tr> <th>user_id</th> <th>user_email</th> <th>user_password</th> <th>Show</th&g

我想处理表中的特定行(用户)。有很多用户。我想从表中获取用户id,单击并显示在另一页上。现在,我用的是邮寄表格。问题是Profile.jsp页面始终显示相同的用户id(例如,第一个2)

jsp文件:

//...
<table>
<tr>
<th>user_id</th>
<th>user_email</th>
<th>user_password</th>
<th>Show</th>
</tr> 
<%
  List<String> usersContainer = UsersWorker.GetUsers();

  Iterator<String> it = usersContainer.iterator();

  while (it.hasNext()) {

      out.print("<tr>");

      for (int i = 0; i < 2; ++i) {

          if(i==0) {
          %><form action="ProfileServlet" method="post"><%

                  int user_id = Integer.parseInt(it.next());
                  %><td><input style="width: 30px" type="text" name="user_id" value="<% out.print(user_id); %>" readonly></td><%
          }
          out.print("<td>");
          out.print(it.next());
          out.print("</td>");

          if(i==1) {

            %><td><input type="submit" value="Show"></td><%
          }
            %></form><%
      }
  out.print("</tr>");
 }
%>
</table>
<title>Profile</title>
<b>Profile</b>
<%
    String action = (String) request.getAttribute("user_id");
    %><br>user_id : <%=action %>
配置文件jsp文件:

<title>Profile</title>
<b>Profile</b>
<%
    String action = (String) request.getAttribute("user_id");
    %><br>user_id : <%=action %>
Profile
轮廓

用户id:
为此,您需要具有唯一的输入变量名称。这意味着第一行应该有user_id0,第二行应该有user_id1,依此类推

您还应该为每行添加一个额外的提交按钮(一个提交按钮不行)


但每一行都是分开的。行名称是相互的,因为user\u id对于所有用户都是唯一的。正如我已经说过的,您不能使用单个user\u id来实现这一点。每个输入字段都必须具有唯一的名称。所以,若你们有两行(就像在你们的例子中),你们真的需要两个用户ID;检查debug中的it.next()是什么。
<td><input type="submit" name="submitBtn"+i value="Submit"></td> 
private int getRecordIndex(HttpServletRequest request){

    int i;
    for(i=0;i<2;i++){
        if(request.getParameter("submitBtn"+i)!=null)
            break;//button has been clicked

    }
    return i;
}
 String user_id = request.getParameter("user_id"+getRecordIndex(request));