我想知道是否有人可以提供幫助,我想循環訪問ArrayList,但每次只能使用一個按鈕幫助一個項目,所以當我按下該按鈕時,它會顯示給我列表中的下一個項目等等。或者如果還有其他方法,我會很樂意接受任何建議。我試圖設計一個測試,以便學生在提交答案時能夠得到一個問題,並轉到下一個問題。這就是我在展示JSP時的完整列表。 我的servlet如何從Java ArrayList一次顯示一個項目ArrayList
String vassId = request.getParameter("vassId");
List<Assessment> qList = new ArrayList<Assessment>();
Assessment qObj = null;
DbConnection dbConn = null;
Connection conn = null;
CallableStatement proc = null;
response.setContentType("text/html");
ResultSet rs = null;
try {
dbConn = new DbConnection();
conn = DbConnection.connection();
String dbCall = "{ ? = call pa_customer_admin.fn_list_question(?) }";
proc = DbConnection.connection().prepareCall(dbCall);
proc.registerOutParameter(1, OracleTypes.CURSOR);
proc.setInt(2, Integer.parseInt(vassId));
proc.execute();
rs = (ResultSet) proc.getObject(1);
while (rs.next()) {
qObj = new Assessment();
qObj.setVassId(Integer.parseInt(rs.getString(1)));
qObj.setDescr(rs.getString(2));
qObj.setQuesStatus(rs.getString(3));
qObj.setQuesTypeCode(rs.getString(4));
qObj.setCreatedDate(rs.getString(6));
qObj.setQuestion(rs.getString(7));
qObj.setMark(rs.getString(8));
qObj.setTimeLimit(rs.getInt(9));
qList.add(qObj);
}
request.setAttribute("qObj", qObj);
request.setAttribute("qList", qList);
proc.close();
JSP
<form action="AnswerSaveProcess" method="POST" >
<c:if test="${empty qList}">
Empty list
</c:if>
<c:if test="${! empty qList}">
<c:forEach items="${qList}" var="q">
<label>Question</label>
<input type="hidden" value="<%= vassId%>">
<textArea readonly="readonly">${q.question}</textarea>
<input type="text" value="${q.mark}" readonly="readonly">
<input type="hidden" id="userTime" value="${q.timeLimit}" />
<label>Answer 1</label>
<input type="text" ><input name="ansStatusCode" type="radio"><br/>
<label>Answer 2</label>
<input type="text" ><input name="ansStatusCode" type="radio"><br/>
<input type="submit" name="submit" value="Save Answer">
</c:forEach>
</c:if>
</form>
這聽起來對我來說並不是真正的ArrayList數據結構問題,而是一個關於JSP頁面或Web會話中狀態管理的問題(問題的文本沒有提到JSP,但它被標記爲這樣) –
是的西蒙我正在使用Servlet並從數據庫創建一個ArrayList並在JSP上顯示它。 – Tony
存儲當前索引,並在數組列表中顯示索引內容,下一次做索引++; –