2017-10-10 9 views
-1

ich jeden Punkt auf meiner Liste „Art“ mit Expression Language in einer JSP-Datei so drucken möchten: esFür jede Schleife mit Expression Language

Try: Pizza-Margherita 
Try: Cheese-Pizza 

So funktioniert, wenn ich einen normalen Ausdruck wie folgt verwenden

Try: ${sorts[0]} 
Try: ${sorts[1]} 

aber ich muss es in der Liste für jeden Artikel schreiben

Also versuchte ich folgende zwei Loops zu verwenden:

<c:forEach items="${sorts}" var="item"> 
    Try: ${item}<br> 
</c:forEach> 


<c:forEach var="item" items="${sorts}"> 
    <td> 
     Try: <c:out value="${item}" /> 
    </td> 
</c:forEach> 

Es hat nicht funktioniert und ich habe jedes Mal diese Ausgabe:

Try: 

Warum wird nicht funktionieren meine foreach-Schleife? was habe ich falsch gemacht?

+0

Haben Sie versucht mit ? – P3trur0

+0

ja, gleiche Ausgabe –

+0

könnten Sie bitte ein vollständiges Beispiel dann zur Verfügung stellen? – P3trur0

Antwort

1

Dies liegt daran, dass Sie die Core-Tag-Bibliothek nicht in Ihre JSP-Datei aufgenommen haben. Sie tun dies, indem Sie am Anfang der Datei die folgende Zeile einfügen.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
0

Hier Probe JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
    </head> 
    <body> 
     <c:forEach var="item" items="${sorts}"> 
     ${item.name} 
     </c:forEach> 
    </body> 
</html> 

Hier Beispiel Java-Code ist

List<Sort> sortList = new ArrayList<>(); 

Sort s1 = new Sort(); 
s1.setName("Pizza-Margherita"); 
Sort s2 = new Sort(); 
s2.setName("Cheese-Pizza"); 

sortList.add(s1); 
sortList.add(s2); 

request.setAttribute("sorts", sortList); 

Beispielobjektklasse

public class Sort { 
    private String name; 
    //create getter and setter for name 
} 

Stellen Sie sicher, JSTL-Bibliothek importiert haben.

Verwandte Themen