先贴上代码
<%@ page contentType="text/html;charset=utf-8" language="java"%>
<%@ page import="java.sql.*"%>
<%@ page import="bld.*" %>
<html>
  <head>
   <%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
if(session.getAttribute("StaffCode")==null){
%>
<script type="text/javascript">
alert("对不起,你没有登陆!!");
</script>
<%
out.close();
}%>
    <title></title>
   <script type="text/javascript">
   function add(){
   document.form1.action = "/MyProject/bld/QueryRegion?do=1";
   document.form1.submit();
   }
   function delItems(){
   document.form1.action = "/MyProject/bld/QueryRegion?do=2";
   document.form1.submit();
   }
function del(){
var a = confirm("确定删除这条记录吗?", "确认");
if(a == true){
   document.form1.action = "/MyProject/bld/QueryRegion?do=3";
document.form1.submit();
}
}
   function mod(){
   document.form1.action = "/MyProject/bld/QueryRegion?do=4";
   document.form1.submit();
   }
   </script>
  </head>
  
  <body>
   <form id="form1" name="form1" method="post" action="/MyProject/bld/QueryRegion">
<table border="0" cellspacing="1" align="center">
  <tr align="center">
<td height="30" colspan="7">校区查询</td>
  </tr>
  <tr align="center">
<td colspan="7"><div align="left">&nbsp;
  <input type="button" value="添加" onClick="add()"/>&nbsp;
  <input type="button" value="删除" onClick="delItems()"/>
  <%
  try{
   ResultSet rs = BuildingQuery.query(200, DBConnection.getConnection());
   int n = 0;
   while(rs.next()){
   n++;
   }
   out.print("&nbsp;&nbsp;&nbsp;共"+n+"条结果");
   rs.close();
  } catch(Exception ex){
   out.println(ex.getMessage());
  }
  %>
</div></td>
  </tr>
  <tr>
   <td width="50" class="row_head" align="center">
   <input type="checkbox" /></td>
    <td width="50" align="center">编号</td>
    <td width="120" align="center">名称</td>
    <td width="200" align="center">地址</td>
    <td width="120" align="center">占地面积(平方米)</td>
    <td width="*" align="center">备注</td>
    <td width="100" align="center"></td>
  </tr>
  <%
  try{
   ResultSet rs = BuildingQuery.query(200, DBConnection.getConnection());
   while(rs.next()){
  %>
  <tr>
   <td align="center"><input type="checkbox" /></td>
    <td align="center"><%= rs.getString(1) %></td>
    <td align="center">
     <% if(rs.getString(2) == null) out.print(""); else out.print(rs.getString(2)); %></td>
    <td align="center">
     <% if(rs.getString(3) == null) out.print(""); else out.print(rs.getString(3)); %></td>
    <td align="center">
     <% if(rs.getString(4) == null) out.print(""); else out.print(rs.getString(4)); %></td>
    <td align="center">
     <% if(rs.getString(5) == null) out.print(""); else out.print(rs.getString(5)); %></td>
    <td align="center"><a href="#" onClick="mod()">修改</a>&nbsp;|&nbsp;<a href="#" onClick="del()">删除</a></td>
  </tr>
  <%
  }
   rs.close();
  } catch(Exception ex){
   out.println(ex.getMessage());
  }
  %>
</table>
</form>
  </body>
</html>
在这个form里我们可以通过点击“添加”“删除”按钮和“修改”“删除”链接来执行相应的动作,可是我不知道接下来在Servlet中如何处理传过来的值,或者说该如何传值?
我先说一下,首先要传过去动作值(决定是否是“添加”“删除”“修改”),然后“添加”的话只跳转到一个固定的页面,这个可以实现,对选中的某一行记录进行“修改”或者“删除”,我真不知该怎么实现,因为要getParameter(id),可是id怎么设置,怎么区别操作对象是“这”条记录而非“那”条记录,这里不解!
还望做过这方面的前辈们指点指点我啊,谢谢了

解决方案 »

  1.   

    id一般是一行记录里面的唯一值,也就是库中的主键,所以id可以区分记录
      

  2.   

    老实说,不是很明白你想问的是什么!
    你修改的话,可以跳到一个servlet去,然后把id也传过去,这样在servlet中就可以根据传过来的id做相应的处理了!删除的操作也一样
      

  3.   

    用rowid吧,如果主键有多个就比较烦
      

  4.   

    到了Servlet要获得id的呀,then how? 
    比如有两个主键,值为10,11,但我们事先并不知道是10和11,所以就不能
    String id = request.getParameter('10');或String id = request.getParameter('11');
      

  5.   

    简单 直接把 你的编号放到调用方法的参数里   <%
                  try{
                      ResultSet rs = BuildingQuery.query(200, DBConnection.getConnection());
                      while(rs.next()){
              %>
              <tr>
                  <td align="center"><input type="checkbox" /></td>
                <td align="center"><%= rs.getString(1) %></td>
                <td align="center">
                    <% if(rs.getString(2) == null) out.print(""); else out.print(rs.getString(2)); %></td>
                <td align="center">
                    <% if(rs.getString(3) == null) out.print(""); else out.print(rs.getString(3)); %></td>
                <td align="center">
                    <% if(rs.getString(4) == null) out.print(""); else out.print(rs.getString(4)); %></td>
                <td align="center">
                    <% if(rs.getString(5) == null) out.print(""); else out.print(rs.getString(5)); %></td>
                <td align="center"><a href="#" onClick="mod('<%= rs.getString(1)' %>)">修改</a>&nbsp;|&nbsp;<a href="#" onClick="del('<%= rs.getString(1)' %>)">删除</a></td>
              </tr>
              <%
                  }
                      rs.close();
                  } catch(Exception ex){
                      out.println(ex.getMessage());
                  }
              %>
      

  6.   

     function mod(id){
                  document.form1.action = "/MyProject/bld/QueryRegion?do="+id;
                  document.form1.submit();
     }删除同理
      

  7.   

    这个问题最直接的办法有一个,遍历出来的每一个tr 给他套个form标签,这个tr下面有个hidden(隐藏域)保存ID,这样,你点每一行的修改或删除时,其实提交了不同的表单,从而轻松实现这个功能,供参考...