2013-07-24 53 views
0

先生,我有更新沿WD form bean的我的數組列表連接WD JSP無動作的servlet的問題..更新的ArrayList使用ServletňJSP

這裏是我的FRST JSP頁面,即時顯示列表:我想更新此列表wd servlet哪裏roll no會是條件嗎?

<%Iterator itr;%> 
<% ArrayList data= (ArrayList)request.getAttribute("data"); 
    for (itr=data.iterator(); itr.hasNext();) 
    { 


%> 
    <tr> 

     <td width="40"> <input type="text" value="<%=itr.next()%>"/></td> 
     <td width="40"><input type="text" name="th2" value="<%=itr.next()%>"/></td> 
      <td width="40"><input type="text" value="<%=itr.next()%>"/></td> 
    <td width="40"><input type="text" value="<%=itr.next()%>"/></td> 
      <td width="40"><input type="text" value="<%=itr.next()%>"/></td> 
      <td width="40"><input type="text" value="<%=itr.next()%>"/></td> 

</tr> 
<%}%> 
+0

(1)[避免在JSP小腳本](http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files )(2)你在循環中多次調用'.next()'! (3)您的問題不清楚,請詳細說明流程。 – NINCOMPOOP

+0

好吧忘記DIS代碼只是幫助我WD DIS我怎麼可以更新表有哪些名稱和標記沿WDR輥沒有? 我的目標是更新保持rollno作爲主鍵的桌子 –

+0

您想更新哪個版本? DB還是JSP頁面本身? – NINCOMPOOP

回答

0

這不是迭代器的工作方式。 iter.hasNext指定是否有更多元素。 iter.next前進到下一個。你正在調用hasNext一次,但接下來的6次。

你基本上是問:「你有第一個元素嗎?如果是這樣,請讓我第一個6。」但是你可能只有2個元素,這會導致IndexOutOfBoundsException。

foreach循環語法會自動爲您提取迭代器,因此它會減少您的代碼。

嘗試這種情況:

<% for (Object o : (ArrayList)request.getAttribute("data")) 
    { 
%> 
    <tr> 

     <td width="40"> <input type="text" value="<%=o %>"/></td> 
     <td width="40"><input type="text" name="th2" value="<%=o %>"/></td> 
     <td width="40"><input type="text" value="<%=o %>"/></td> 
     <td width="40"><input type="text" value="<%=o %>"/></td> 
     <td width="40"><input type="text" value="<%=o %>"/></td> 
     <td width="40"><input type="text" value="<%=o %>"/></td> 

</tr> 
<% } %> 
+0

感謝您的顯示數據完美bt的主要問題是hw我可以更新表中指定的值我不能明白 –

+0

我不明白你的問題。 – Brandon

+0

好吧忘記DIS代碼只是幫我WD DIS我怎麼可以更新表有哪些名稱和標記沿WDR滾動沒有?我的目標是更新保持rollno作爲主鍵的表格 –