javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Ich weiß nicht, wie ich in forEach über die bereitgestellten Items iterieren soll

7

Ich habe eine Bean, die die Ergebnisse enthält. Ich muss JSTL verwenden, um darüber zu iterieren und die Ergebnisse zu präsentieren. Hier ist die Bohne:

%Vor%

Hier ist der Handler, der die Bean auf die JSP setzen wird:

%Vor%

Ich habe versucht, es wie folgt anzuzeigen:

%Vor%

Aber es gab die folgende Ausnahme:

  

verursacht durch: javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Ich weiß nicht, wie ich über die angegebenen "Items" in & lt; forEach & gt;

iterieren kann

Wenn ich die Ergebnisse auf meiner Handler-Seite wie folgt protokolliere:

%Vor%

Die Protokollierung scheint auf dem Server gut zu sein.

    
Doc Holiday 03.02.2012, 20:11
quelle

2 Antworten

24
  

Erstellt von: javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Ich weiß nicht, wie ich über die angegebenen "Elemente" in <forEach>

iterieren soll

Das passiert, wenn <c:forEach items> nicht auf ein gültiges Objekt verweist, über das es iterieren kann. Das Objekt sollte ein Object[] (ein einfaches Array), ein Collection sein. , Map , %Co_de% , Iterator oder Enumeration (siehe auch Quellcode ). Alles andere kann nicht von String iteriert werden. Ihre <c:forEach> -Klasse ist keine Instanz eines der oben genannten Typen, daher wird sie fehlschlagen.

Ihre DetResults Klasse sieht nicht richtig aus. Es sieht im Grunde aus wie eine Gott-Bohne mit einer Sammlung aller Eigenschaften mehrerer einzelner Entitäten. Das ist nicht richtig. Eine Bean-Klasse sollte höchstens eine Entität darstellen. Schreiben Sie Ihre DetResults -Klasse neu, so dass Sie im Grunde mit einer vollständigen Sammlung von Javabeans enden:

%Vor%

, damit Sie wie folgt darauf zugreifen können:

%Vor%

Wenn Sie wirklich darauf bestehen, Ihre DetResults -Bohne unverändert zu lassen, können Sie folgendermaßen darauf zugreifen:

%Vor%

Siehe auch:

Unrelated zu dem konkreten Problem, das Attribut DetResults ist nicht richtig. Sie sollten ihm nicht den gleichen Namen geben wie einem vorhandenen Objekt im Bereich. Es würde nur zusammenstoßen. Aber das ist Thema für eine neue Frage, wenn Sie die Fehlermeldung nicht interpretieren können.

    
BalusC 03.02.2012, 20:31
quelle
1

Sie sollten in der Lage sein, die Überschriften zu durchlaufen

%Vor%

Und dann über die Daten ...

%Vor%

Oder etwas in dieser Richtung?

    
EMS 03.02.2012 20:43
quelle

Tags und Links