我想从数据库里拿出列表的数据,然后修改再存到数据库里,但修改后存进去的都是null,我估计是我name="size_cod<%=i %>"命名出了问题,但不知道如何解决.
<%
List<DetClass> list = DetClass.getDet(part_num);
for (int i = 0; i < list.size(); i++) {
DetClass d = (DetClass) list.get(i);
%>  
<tr>
<th align="center" scope="row">
<input name="size_cod<%=i %>" type="text" size="8" value="<%=d.getSize_cod() %>"/>
</th>
<td align="center">
<input name="sizes<%=i %>" type="text" size="8" value="<%=d.getSizes() %>"/>
</td>
<% }%>
提交到的页面是
record是传过来的参数
int record = Integer.parseInt(request.getParameter("record"));
for (int i = 0; i < record; i++) {
String size_cod = request.getParameter("size_cod" + i);
String sizes = request.getParameter("sizes" + i);
                                     u.update(part_num);
}
%>

解决方案 »

  1.   

    有record只是我没写出来而已,跟这个没什么关系<input type=text name="record">需要别人填个数据进去
      

  2.   

    value=<%=d.getSize_cod() %>
      

  3.   

    那些都没问题
    如果我把name="size_cod <%=i %>"改成name="size_cod"就没问题,但是只能修改一条记录.
      

  4.   

    后台加一个判断if (size_cod = "null"){size_cod  = ""}
      

  5.   

    name="size_cod <%=i %>" 中间加个+
      

  6.   

    1.DetClass有没有引入
    2.name='<%="size_cod"+i %>'
      

  7.   

    楼主你可以使用request.getParameterNames();,把参数名字给接收过来,
    看看产生的参数名是否是你想的那样。直接遍历取到的参数数组
    for(String paramName : request.getParameterNames()){
       String paramValue = request.getParameter(paramName);
    }
    挨个看看,是哪个环节出的错误
      

  8.   

    我按9楼的方法看了name="size_cod <%=i %>"和name=' <%="size_cod"+i %>' 结果一样
    输出的都是size_codi 
      

  9.   

    肯定是name="size_cod <%=i %>" 的name带有空格
      

  10.   

    String size_cod = request.getParameter("size_cod" + i); 
    String sizes = request.getParameter("sizes" + i); 

    u.update(part_num);你取到的值 并没有用到,或者你打印出来看看 有无取到数据