给个例子,这里有个一对多,一个用户可任多个角色.在加载数据的servlet中,把要修改的数据塞进request对象:
      request.setAttribute("user",user);// 一个user
      request.setAttribute("roles",roles);// 多个role,roles是个List
      转发到编辑页面//////////////////////////////编辑页面的表单(多个role用复选框组件):
<form action="userRoleUpdateAct.do" method="POST" >
<%
for(Role role:roles){ //把传过来的多个role展开来,放进复选框  out.print("<input type='checkbox' name='roleIds' value='");
  out.print(role.getRoleId());
  out.print("' ");
  for(Role role2:sub_roles){
    if(role2.getRoleId().equals(role.getRoleId())){
      out.print("checked");
    }
  }
  out.print(">");  out.print(role.getRoleName()+"&nbsp;");
  out.println(role.getNotes());
  out.print("<br>");
}
 %>
 <input type="submit" value="提交"/>
 <input type="reset" value="重置"/>
 <input type="button" value="取消" onClick="window.history.back();"/>
 <input type="hidden" name="userId" value="<%=user.getUserId()%>">
</form>供参考.

解决方案 »

  1.   

    用jquery的 toggle 点击的时候展开
      

  2.   

    5L说的对.
    如果每一个联系人都只能有一个单位,(与一个单位有多个联系人不矛盾),那么应该在联系人的实体类中加外键与单位关联.
    首次录入数据时,先批量录入单位数据,然后再批量录入联系人数据,
    在录入联系人数据的时候,把单位数据的ID做成集合并用下拉单选框组件装进去,供联系人的外键选取.
    以后单位的联系人如有增加,也用录入联系人的办法进行添加,删除,就直接删除好了.
    但是单位数据的删除,要同时删除相关联的所有业务联系人.