各位大侠:
    jsp页面中的table数据,如何提交到后台?这个table的数据是通过在后台检索,放入session中,在jsp页面中循环放入table中的,再次提交时,想在后台得到这些数据,请问如何取得?多谢了。

解决方案 »

  1.   

    可以通过js提交给一个action在后台request就行了
      

  2.   

    要传到后台只能用form和html标签,当然用ajax之类的框架也行,找到这个table就成
      

  3.   

    页面 <form action="#">
    <%
    int i;
    for (i = 0; i < list.size(); i++) {
    TestBean bean = list.get(i);
    %>
    <input name="beanName<%=i%>" value="<%=bean.getBeanName()%>">
    <input name="beanValue<%=i%>" value="<%=bean.getBeanValue()%>">
    <%
    }
    %>
    <input type="hidden" name="recordCount" value="<%=i%>">
    </form>后台获取方法 String recordCountStr = request.getParameter("recordCount");
    int recordCount = Integer.parseInt(recordCountStr);
    for (int i = 0; i < recordCount; i++) {
    System.out.println(request.getParameter("beanName" + i));
    System.out.println(request.getParameter("beanValue" + i));
    }
      

  4.   

    你好,楼主!
    <form action="url" method="post" name="userForm" >
       <table>
       <tr>
         <td>用户名</td>
       </tr>
         <%
           List uList = (List)session.getAttribute("");
           for(int index = 0;index<uList.size();index++)
           {
                Userbean  user = (Userbean)uList.get(index);
          %>
                <tr>
                 <td><input type="text" name="username" value="user.getUsername()"></td>
                </tr>
          <%
           }
         %>
       </table>
    </form>后台程序:
    然后在你表单所指定提交的url 里面
    String username = request.getParameter("username");
      

  5.   

    就是在你放table的那个页面中,在table的前面加个表单(form),这个表单中可以设置它的action=“url”和 method="post" ,然后将它提交到你写后台代码的那个页面中。
      

  6.   

    实际上在程序中要尽量少的使用session,因为很占有你的服务器资源的,你可以使用数组list或arraylist或bean来存放数据,在提交时把它们传递到后台就可以了,如果你觉得我的建议可行的话,就帮我点击一下www.55find.cn网站,增加一下点击率谢谢阿
      

  7.   

    我也是这样想的。怎么把table里的数据 放到一个bean里呢?我想通过js脚本获得每行数据 但是怎么弄到一个bean里去呢?js里好像不可以写jsp脚本吧!!
     function getUserBean(){
        tabl = document.getElementById("tableId");
        row = tabl.row[1];
        name =  row.cells[0].innerHTML;
        sex = row.cells[1].innerHTML;
        age = row.cells[2].innerHTML;  
       }怎么把这个弄到bean里面呢??
      

  8.   


    请问如何通过js把数据提交到后台呢,在js里我已经把数据组织好了,但是不知道如何提交给action?
      

  9.   

    在jsp页面中我用struts标签做的:
    <logic:iterate id="list" name="SEARCH_RESULT" scope="session" >
    <tr>
      <td><html:checkbox name="list" property="selectFlag" /></td>
      <td><bean:write name="list" property="name" /></td>
      <td><bean:write name="list" property="age" /></td>
    </tr>
    </logic:iterate>
      

  10.   


    table中第一列是checkbox,我需要判断哪些是选中的,再从session中取得,数据没有变化,也就是在前台做的事情没有反应出来
      

  11.   


    我并没明白您是什么意思 提交到后台的话 用我上面写的那种方式就行 
    如果你是想通过checkbox删减一些记录的话 你可以在后台list属性作为数组
      

  12.   

    session里的检索结果,当你再提交到后台,只要不给同一个检索结果session KEY重新附值它是不变的,可以再在SESSION里取得
      

  13.   


    我需要在后台得到的数据,能够体现出我在访问页面时做的事情,比如选中某一个checkbox
      

  14.   

    他的意思好像是其他的数据不放在form的text里,所以提交的时候就不会getParemater(),只能通过脚本获取table里的单元格的数据!!
      

  15.   

    我是这样做的,你可以参考一下
    ActionFormpublic class MstPartNoForm extends ValidatorForm {
         private ArrayList inputBody = new PartNoList();
    }PartNoList为继承了ArrayList的子类public class PartNoList extends ArrayList {    /**
         * <code>serialVersionUID </code>
         */
        private static final long serialVersionUID = 1949940166064626308L;
                
        @SuppressWarnings("unchecked")
        public Object get(int index){
            while(index>= size()){
                add(new WorkEMasterPartNo());
            }
            return super.get(index);
        }}
    jsp:(indexed="true" 唯一标识不能少)
    将取得的数据显示到页面,即使页面table的文本框中输入了新内容,提交到后台时,也能获取值<html:form action="bom/XXX.do">
      <table width="750" border="1" cellspacing="0" cellpadding="0">
        <thead>
    <tr class="listHeader">
          <td class="headersum" style="width:200pt"><bean:message key="mrp.partNo"/></td>
          <td class="headersum" style="width:80pt"><bean:message key="bom.mstPartNo.ordDb"/></td>
          <td class="headersum" style="width:80pt"><bean:message key="bom.mstPartNo.qty"/></td>
          <td class="headersum" style="width:80pt"><bean:message key="bom.mstPartNo.leadTime"/></td>
    </tr>
        </thead>
        <logic:iterate id="inputBody" indexId="indexBefore" name="MstPartNoForm" property="inputBody" 
         type="bom.web.mstPartNo.WorkEMasterPartNo" >
         <tr class="listBody">
       <td><html:text name="inputBody" property="partNo" size="40" maxlength="200" indexed="true"/></td>
       <td align="right"><html:text name="inputBody" property="odrDb" size="8" maxlength="6" style="text-align:right" indexed="true"/></td>
       <td align="right"><html:text name="inputBody" property="qty1" size="8" maxlength="6" style="text-align:right" indexed="true"/></td>
       <td align="right"><html:text name="inputBody" property="leadTime" size="8" maxlength="6" style="text-align:right" indexed="true"/></td>
       </tr>
        </logic:iterate>    
      </table>
    </html:form>
      

  16.   


    我是用bean:write 输出数据到单元格中,也可以在后台提交时用request.getParameter吗?
      

  17.   


    整个jsp就是在一个表单中的,<html:form action="/List" >
    表单还可以嵌套么?
      

  18.   

    你这个所谓的table中的数据在页面中可以更改不,能改就弄个form,相应的值是在文本框之类的地方的,提交时自然能传到服务器端
    不能改就弄hidden,或直接放服务器端的全局变量中,这种情况页面中的table估计只是展示给用户看的
      

  19.   

    hidden里放什么啊?放这行的每列的数据啊 嘿嘿 我很菜 希望回答下下
      

  20.   


    数据不能改,但是table第一列是checkbox,需要在后台中判断哪行被选中
      

  21.   

    用form把table表单框起来呗。。
      

  22.   

    <form action="action或servlet路径">
      

  23.   


    整个jsp页面就在一个form中了,在里面再嵌套一个form么
      

  24.   

    ajax框架很多啊,都能实现,你可以找找,我们公司用雅虎YUI实现