日期:2014-05-19  浏览次数:20620 次

关于毕业设计请教各位一个小问题:如何从一个form里拿到for循环的数据
Java code
    </head>
    <%    
        List<String> buildList = (List<String>) session
                .getAttribute("buildList");
        List<Room> roomList = (List<Room>) session.getAttribute("roomList");
    %>
    <body>


<%
        if (roomList != null) {
    %>
<table width="200" border="1">
<tr>
<td>宿舍号</td>
<td>水费</td>
<td>电费</td>
<form method="post" action="admin/Film!add">
</tr>
<%
                for (Room r2: roomList) {
                DraftInfo d=new DraftInfo();
            %>
  <tr>
   
                   <td><%=r2.getName()%></td>
                <td><input type="text" name="Water"></td>
                <td><input type="text" name="Electricity"></td>
  </tr>
  <%
                }%>
                <input type="submit" value="保存"/>
                </form>
            </table><%    
                }
            %>




    </body>
</html>


关于我的毕业设计,基于ssh。
现在我想在form里插入一个for循环,在每一个循环里面都可以input的选择可以填入两个值然后后台根据name这个属性拿到。例如

<td><input type="text" name="Water"></td>
<td><input type="text" name="Electricity">

现在问题是我这样写,循环下了name就重复了,拿不到,请问应该怎样写?
谢谢大家的耐心回答~我会一直刷新等回复

------解决方案--------------------
for(int i=0;i<19;i++)
{
<input name="name+i">
}
就打个比方
------解决方案--------------------
让他的name是list 比方说是name="myName[i]" i是变量每次循环每次增加i++
在后台你定义的那个set和get换成这个myName 是一个list形式定义。
这样。你在后台接收的时候就可以用myName这个list接收了!再把这个list在后台循环,出来的值就是页面中所有的了!
------解决方案--------------------
要是简简单单的想让name不重复的话
我的办法:
 <td><input type="text" name="<%=r2.getName()%>Water"></td>
 <td><input type="text" name="<%=r2.getName()%>Electricity"></td>
也就是说让每个房间的水电费NAME为 房间名字+Water/房间名+Electricity
------解决方案--------------------
探讨
你好,先谢谢你热心的回答,可能你没看清楚我问题,我这个的input是放在一个for循环里面的,给input定义一个Parameter的话,就里的Parameter就会因为循环而重复,你用 request.getParameterValues("xxoo"),这里就有很多xxoo不知拿哪个了

我的想法是不是要用List之类的容器,有没有其他方法呢?