2017-04-19 2 views
0

Dies ist eine einfache Online-Testseite, ich benutze jstl foreach Tag-Schleife, um meine Daten zu zeigen, dh Fragen und Optionen, aber ich muss eine Frage zu einer Zeit anzeigen, wenn der Benutzer auf die nächste klickt Schaltfläche, aber der Foreach-Tag druckt alle Fragen auf der Seite gleichzeitig.Iterating für jedes Tag auf Knopf klicken

<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> 

Wie kann ich den Datensatz einen nach dem anderen retrive nach der nächsten Taste clciking, welche Änderungen soll ich in dem obigen Code zu tun. Danke

Antwort

0

Dies scheint ziemlich einfach. Ich kann Ihren buttonHandler nicht sehen, also rate ich, dass Sie nur die foreach-Schleife aufrufen, wenn Sie auf "Weiter" klicken? Nun, natürlich wird die foreach-Schleife durch die gesamte Datenstruktur iterieren und alles drucken, weil es genau das ist, was Sie ihr gesagt haben.

Wie wäre es, wenn Sie nicht die gesamte Datenstruktur durchlaufen und das erste Element in Ihrem Fragensatz ausdrucken und dann löschen, nachdem Sie es gedruckt haben. Oder speichern Sie einfach einen Zähler, der bei jedem Klicken auf die Schaltfläche Weiter erhöht wird, damit er die nächste Frage erfassen kann. Sie benötigen keine foreach-Schleife, wenn Sie nur an einem Element pro Tastenklick interessiert sind.