2017-04-19 5 views
0

이것은 간단한 온라인 테스트 페이지입니다. jstl foreach 태그 루프를 사용하여 데이터 즉 질문 및 옵션을 표시하지만 사용자가 다음 질문을 클릭 할 때 한 번에 하나의 질문 만 표시해야합니다. 버튼을 사용하지만 foreach 태그는 페이지의 모든 질문을 동시에 인쇄합니다. 내가 다음 버튼을 clciking 후 한 번에 데이터 세트를 가져 오지 수있는 방법버튼 반복마다 반복 태그

<jsp:useBean id="qs" class="com.onlineExamination.beans.QuestionSet" 
     scope="session" /> 
     <table cellspacing="40px"> 
       <c:forEach items="${qs.allQuestions}" var="que" step="1"> 
        <tr> 
         <td>${que.question}</td> 
         <td>${que.marks }Marks</td> 
        </tr> 
        <tr> 
         <td>${que.option1}</td> 
        </tr> 
        <tr> 
         <td>${que.option2}</td> 
        </tr> 
        <tr> 
         <td>${que.option3}</td> 
        </tr> 
        <tr> 
         <td>${que.option4}</td> 
        </tr> 
       </c:forEach>      
     </table> 

는 어떤 변화하는 것은 내가 위의 코드에서 수행해야합니다. 고마워요

답변

0

이것은 매우 간단합니다. 나는 당신의 buttonHandler를 볼 수 없으므로 다음을 클릭 할 때 foreach 루프를 호출하고있는 것 같아요? 당연히 foreach 루프는 전체 Datastructure를 반복하고 인쇄합니다. 왜냐하면 그것이 여러분이해야 할 일이기 때문입니다.

전체 데이터 구조를 반복하지 않고 질문 집합의 첫 번째 요소를 인쇄 한 다음 인쇄 한 후 삭제하는 것이 좋습니다. 또는 다음 버튼을 클릭 할 때마다 다음 카운터를 올릴 수있는 카운터를 어딘가에 저장하십시오. 버튼 클릭당 하나의 항목에만 관심이있는 경우에는 foreach 루프가 필요하지 않습니다.