# Wie zeige ich Attribute eines Objekts innerhalb einer JSP an



## marcus_78 (23. Jun 2007)

Hallo zusammen!

Ich hoffe jemand kann mir bei folgendem Problem helfen:

Ich habe innerhalb einer Java Beans mehrere Zeilen einer MySQL-Tabelle in eine Liste von Objekten geschrieben.


```
private List ergebnis = new ArrayList();

FormBean obj = new FormBean();

obj.id = rsForumOverview.getInt("Id");
obj.thema = rsForumOverview.getString("Thema");
obj.autor = rsForumOverview.getString("Autor");
obj.antworten = rsForumOverview.getInt("Antworten");
obj.letzterBeitrag = rsForumOverview.getString("LetzterBeitrag");

ergebnis.add(obj);
```

Folgendermaßen kann ich mir den Inhalt der Liste in der Konsole ausgeben lassen:


```
// Erstes Objekt in der Liste
FormBean test = (FormBean) ergebnis.get(0);

// ID ausgeben
System.out.println("ergebnis: " + test.id);

... usw ...
```

Nun möchte ich die 5 Attribute innerhalb einer jsp-Datei in Tabellenform ausgeben lassen.

Wie mache ich das am besten?

Schonmal vielen Dank
Marcus


----------



## Rydl (23. Jun 2007)

am besten benutzt du java tag librarys. es gibt die möglichkeite das über die core lib (aus jstl) oder per display-tag zu machen. ich empfehle dir, die jstl (java standard tag library) in deinem path zu haben, die ist unglaublich hilfreich 
[jakarta.apache.org downloadseite]
die .jar dann einfach in den lib ordner kopieren und server neustarten.

ich nehme mal an, du hast deine liste vorher in den requestScope geschrieben, etwa so:
	
	
	
	





```
request.setAttribute("ergebnisListe", ergebnis)
```

die .jsp muss dann ungefähr soetwas machen:


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

<html><title>Ergebnis Output</title><body>

<table>
<tr>
	<th> Id </th>
	<th> Thema </th>
	<th> Autor </th>
	<th> Antworten </th>
	<th> LetzterBeitrag </th>
</tr>
<c:forEach var="ergebnisElement" items="${requestScope.ergebnisListe }" >
	<tr>
		<td>${ergebnisElement.id }</td>
		<td>${ergebnisElement.thema }</td>
		<td>${ergebnisElement.author }</td>
		<td>${ergebnisElement.antworten }</td>
		<td>${ergebnisElement.letzterBeitrag }</td>
	</tr>
</c:forEach>
</table>

</body></html>
```

falls das nicht funktioniert, hast du wahrscheinlich in deiner bean die getter und setter namenskonventionen nicht eingehalten (getter sind die einzigen funktionen, die per el gelesen/ausgeführt werden können) oder dein app-server versteht keine expression language (el).


----------



## marcus_78 (24. Jun 2007)

Hallo Rydl!

Es funktioniert! Ich musste zwar eine Kleinigkeit ändern, aber Du hast mir sehr geholfen!

Die Attribute muss ich in der Tabelle so ausgeben:


```
<c:out value="${ergebnisElement.id}" />
```

Also, vielen Dank nochmal!

Gruß
Marcus


----------

