`
jw271052784
  • 浏览: 29697 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

页面多条记录提交的问题

    博客分类:
  • java
 
阅读更多
  题:现在需要在页面输入多条数据,然后写入某一张数据库表,但是数据的条数是由另外一张表相关记录决定的。即从表A查找符合条件的数据条数N,页面显示N条记录,除了第一列是A表中数据,其他列数据都是需要编辑,然后一起提交写入表B。
       经过几个小时的思考实验、终于在凌晨1点解决问题了,O(∩_∩)O~
       首先需要得出数据条数N,classstudentList是从A表从查出的多条记录,通过如下代码将gradeList需要的数据放入gradeList,而且使得gradeList数据记录数也是N。
        for(int k =0;k<classstudentList.size();k++){
        TGrade TGrade=new TGrade();
        TGrade.setUserId(classstudentList.get(k).getUserId());
gradeList.add(TGrade);
}
        request.getSession().setAttribute("gradeList",gradeList);

      在JSP页面显示上,通过c:forEach显示N条记录
<%List<TGrade> list1 = (ArrayList<TGrade>)request.getSession().getAttribute("gradeList");
if(list1.size()>0){%>
<input type="hidden" id="fj_exist" value="yes">
<tr style="font-family: Arial;font-family: sans-serif;font-size:12px;font-weight: bold;Background-color: #E8F2FE;line-height:20px">
     <td  width="5%" nowrap align="center" valign="middle">序号</td>
     <td  width="15%" nowrap align="center" valign="middle">学号</td>
     <td  width="20%" nowrap align="center" valign="middle">平时成绩1</td>
     <td  width="20%" nowrap align="center" valign="middle">平时成绩2</td>
     <td  width="20%" nowrap align="center" valign="middle">考试成绩</td>
     <td  width="20%" nowrap align="center" valign="middle">备注</td>
   </tr>                                  
<%int i=0 ;%>           
<c:forEach items="${gradeList}" var="gradeList">
<%i++; %>
   <tr style=" text-align: center;background: White;font-weight: normal">
     <td  width="5%"  align="center" valign="middle"><%=i%></td>
     <td  width="15%" nowrap align="center" valign="middle"><html:text property="item_xxcj1.userId" value="${gradeList.userId}" readonly="true" styleClass="editbox" /></td>
<td  width="20%" nowrap align="center" valign="middle"><html:text property="item_xxcj1.chengJi1"  styleClass="editbox" /></td>
<td  width="20%" nowrap align="center" valign="middle"><html:text property="item_xxcj1.chengJi2" styleClass="editbox" /></td>
<td  width="20%" nowrap align="center" valign="middle"><html:text property="item_xxcj1.kschengJi" styleClass="editbox" /></td>
<td  width="20%" nowrap align="center" valign="middle"><html:text property="item_xxcj1.beiZhu" styleClass="editbox" /></td>
   </tr>
  </c:forEach>
  <%} %>
           在后台Action处理时,通过request.getParameterValues("item_xxcj1.userId")得到前台所有变量为item_xxcj1.userId的值,此时list大小可以由gradeList1得出,通过遍历,将所有数据放入gradeList中,至此,所有数据都放到了gradeList中,可以提交到数据库中!
   String userId[]=request.getParameterValues("item_xxcj1.userId");
   String chengJi1[]=request.getParameterValues("item_xxcj1.chengJi1");
   String chengJi2[]=request.getParameterValues("item_xxcj1.chengJi2");
   String kschengJi[]=request.getParameterValues("item_xxcj1.kschengJi");
   String beiZhu[]=request.getParameterValues("item_xxcj1.beiZhu");
   List<TGrade> gradeList = new ArrayList<TGrade>();
   List<TGrade> gradeList1 = new ArrayList<TGrade>();
   gradeList1=(List<TGrade>) request.getSession().getAttribute("gradeList");
       for(int k =0;k< gradeList1.size();k++){
    TGrade TGrade=new TGrade();
    TGrade.setUserId(userId[k]);
    TGrade.setChengJi1(Double.valueOf(chengJi1[k]));
    TGrade.setChengJi2(Double.valueOf(chengJi2[k]));
    TGrade.setKschengJi(Double.valueOf(kschengJi[k]));
    TGrade.setBeiZhu(beiZhu[k]);
gradeList.add(TGrade);
}
分享到:
评论

相关推荐

    struts 一次更新多条记录 例子

    在处理一次更新多条记录的场景时,通常会有一个表单提交,该表单包含多个需要更新的记录ID和对应的更新值。表单数据会被封装到一个Java对象(通常称为ActionForm)中,这个对象随后被传递给Action类。 例如,假设...

    GridView中同时编辑多条记录

    "GridView中同时编辑多条记录"这个主题涉及到的是如何增强GridView的功能,使其支持用户在同一时间编辑表格中的多个行,从而提高数据录入的效率。在传统的GridView中,通常只能逐行编辑,而批量编辑功能的实现则需要...

    在Delphi中使用DBGrid处理多条记录..rar

    DBGrid能够方便地展示多条记录,使开发者能够轻松处理大量数据,为用户提供直观的数据浏览和操作界面。本教程将深入探讨如何在Delphi中有效地使用DBGrid来管理多条记录。 首先,DBGrid通常与数据绑定组件一起使用,...

    Atom-git-commit-atom,在当前atom窗格中轻松编辑git提交消息.zip

    3. **智能补全**: 可能集成Git历史中的前一条提交消息,提供自动补全功能,帮助快速编写一致性的提交记录。 4. **多文件提交**: 如果有多个文件需要提交,插件会列出所有待提交的文件,用户可以选择要包含在此次提交...

    关于提交排列问题

    根据提供的文件信息,我们可以从标题“关于提交排列问题”及描述“这是其中的一个页面”来推测,这份文档可能涉及到了数据库查询与数据展示的过程。尤其是ASP(Active Server Pages)脚本语言的应用,以及如何在网页...

    asp 批量删除选中的多条记录的实现代码

    在ASP(Active Server Pages)开发中,批量删除多条记录是一项常见的需求,特别是在处理大量数据时,能够提高效率,减少用户等待时间。批量删除的基本思路是通过用户选择多个记录,然后通过服务器端的脚本一次性执行...

    DB查询分析器批量执行多条SQL语句并查看各自的执行时间

    - **批量执行能力**:用户可以一次性提交多条SQL语句,无需逐条执行。 - **执行时间统计**:每个SQL语句执行完毕后,系统会自动记录并显示其执行时间,帮助用户快速了解每条SQL语句的性能表现。 **2. 受影响记录数...

    asp 批量删除选中的多条记录

    例如,可以显示成功信息,或者在成功删除后返回到记录列表页面,并且清除已删除记录的选择状态。 综上所述,ASP实现批量删除功能主要包括以下知识点: 1. HTML表单设计:包含checkbox和提交按钮。 2. 用户数据收集...

    重复提交资料——解析

    例如,创建一条记录,即使重复提交,数据库中也只会有一条记录。 6. **Session管理**:在用户提交表单时,服务器可以在Session中记录这一行为,后续的重复提交可以通过检查Session来阻止。 7. **数据库事务**:...

    struts2批量提交数据

    在Web应用中,这通常涉及到用户上传一个包含多条记录的数据文件,或者通过网页表单一次性输入多条数据。这种处理方式提高了数据处理效率,减少了网络通信次数。 ### 二、Struts2批量提交的实现步骤 1. **创建...

    防止重复提交

    描述中提到,由于网速问题,用户点击提交按钮后可能没有立即跳转,导致用户误以为提交失败而再次点击,后台因此收到多条相同记录。为了解决这个问题,我们可以利用JavaScript来实现一个简单的机制,即在用户点击提交...

    Asp.net 防止提交相关(bing)

    8. **数据库事务**:对于涉及多条数据库记录更改的操作,可以使用数据库事务来确保一致性。即使有重复提交,事务也能保证数据的一致性。 以上是防止ASP.NET应用中重提交的一些常见策略,开发者可以根据项目需求和...

    使用js动态增加记录

    - **删除记录**:为每条记录提供一个删除按钮,点击时调用函数删除该记录对应的DOM节点。 - **事件绑定**:使用JavaScript为各个元素绑定事件监听器,如点击事件、提交事件等。 #### 三、示例代码 以下是一段...

    jsp中实现重复提交

    在Java服务器页面(JSP)中,防止重复提交是一个重要的考虑因素,因为它可能导致数据不一致性和其他业务逻辑问题。重复提交通常发生在用户由于网络延迟或误操作而多次点击提交按钮时。以下是一些关于如何在JSP中实现...

    php防止form重复提交

    例如,如果用户ID是唯一的,那么在插入数据时,可以确保不会有两条相同的记录。 5.Token 技术 另一种常见的防止表单重复提交的方法是使用 Token。在用户加载表单时,服务器生成一个随机的、唯一的 Token,并将其...

    控制页面按钮在后台执行期间不重复提交的JS方法

    重复提交可能会导致服务器端重复处理请求,例如在数据库中插入多条相同的记录,或者进行不必要的资源消耗。在某些场景中,如金融交易、订单处理等,重复提交可能会造成严重的业务逻辑错误。因此,需要在客户端实现...

    JSP 多条SQL语句同时执行的方法

    1. 错误处理:在多条SQL语句中,如果某条语句执行失败,由于没有提交,所有之前的语句都不会影响数据库状态。这种方式可以避免部分事务被提交到数据库中,导致数据不一致的问题。 2. 性能优化:对于大量数据的插入...

    讲聊天记录备份到 GitHub指南1

    如果一个人有多条连续的消息,可以用回车隔开,但确保每个消息都在正确的角色(Q 或 A)之下。 6. **提交 Issue**:确认内容无误后,点击右下角的 "Submit new issue" 按钮,聊天记录就成功备份到 GitHub 了。 ...

    基于框架的Web开发-提交订单.docx

    当提交订单时,系统会根据当前用户购物车中的所有商品,生成对应的订单明细记录,每条记录都与生成的订单号关联。同时,购物车中的相应条目会被删除,以确保数据的一致性。 4. **实体类**:在项目中,通常使用ORM...

    JSLogger日志记录组件

    4. **批量记录与存储**:JSLogger允许一次性记录多条日志,并可以将日志存储在本地,便于后续分析。 5. **日志过滤**:可以通过设置日志级别来过滤不同级别的日志,便于在大量日志中快速找到关键信息。 6. **日志...

Global site tag (gtag.js) - Google Analytics