Darstellung einer Tabelle mit JSP

Status
Nicht offen für weitere Antworten.

Fu

Neues Mitglied
Hallo,

ich habe ein Problem mit der Darstellung einer Tabelle.
Was ich zur Zeit habe:

Servlet – DB-Abfrage

Code:
public class Namensuebersicht extends HttpServlet{

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
		
		Statement st = null;
		ResultSet result = null;
		
		ArrayList<HashMap<String, String>> daten = new ArrayList<HashMap<String, String>>();
		response.setContentType("text/html");
		
		//Verbindung zur Datenbank
		Connection connection = new Verbindung().getConnection();
		
		try {
			st = connection.createStatement();
			result = st.executeQuery("select Name from Personen order by Name");
			
			ResultSetMetaData meta = result.getMetaData();
			int col = meta.getColumnCount();
			
			while(result.next()){		
				  HashMap<String, String> map = new HashMap<String, String>();
				  for (int i = 0; i < col; i++) {
				  	int c = i + 1;
				  	map.put(meta.getColumnName(c), result.getString(c));
				  }
			      daten.add(map);
			}

			result.close();
			st.close();
			connection.close();

			request.setAttribute("Namen", daten);
			RequestDispatcher view = request.getRequestDispatcher("Ausgabe.jsp");
			view.forward(request, response);
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}	
}

JSP - Ausgabe der Daten

Code:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<html>
<body>

<h1>Namen</h1>

<table border="1">
	<tr>
		<th>A</th>
	</tr>
	
	<tr>
	<c:forEach var="row" items="${Namen}" >
		<c:choose>
			<c:when test="${fn:substring(row.NAME, 0, 1) == 'A'}">
<td>${row.NAME}</td>
			</c:when>
		</c:choose>
	</c:forEach>
	</tr>
</table>

</body>
</html>

Hier werden alle Namen ausgegeben, die mit dem Buchstaben A anfangen. Das funktioniert auch soweit ganz gut. Die Ausgabe sieht dann so aus:

A
Name1 | Name2 | Name3 | Name4 | Name5 | Name6 | …

Die Namen werden alle in einer Zeile ausgegeben. Bei sehr vielen Namen ist das natürlich nicht schön. Ich würde gerne nach jedem dritten Namen in eine neue Zeile springen:

A
Name1 | Name2 | Name3
Name4 | Name5 | Name6

Hat jemand eine Idee, wie man sowas realisieren könnte? Ich wäre für jeden Lösungsansatz dankbar.

P.S.: Das ist mein erstes Projekt mit Servlets/JSP. Für allgemeine Verbesserungsvorschläge bin ich sehr dankbar.
 
M

maki

Gast
Erstmal Glückwunsch, obwohl es dein erstes Servlet/JSP Projekt ist, machst du es richtig und nutzt fleissig die JSTL und EL!

Mit 2 ineinander geschachtelten Schleifen könnte es gehen.
 

Fu

Neues Mitglied
Vielen Dank für die schnelle Antwort!
Ich werde es mal mit ineinander geschachtelten Schleifen versuchen.
Kanns mir noch nicht wirklich vorstellen, wie ich das machen soll...Aber vielleicht kommt mir noch die Erleuchtung. Ist ja noch früh am Tag :wink:
LG
 

Ralf Ueberfuhr

Bekanntes Mitglied
Ein anderer Tip: Verwende per <c:set /> eine Zählvariable, und wenn die %3 == 2 ist, dann füge einen Zeilenumbruch ein.

Ungefähr so:
Code:
<c:set var="counter" value="${0} />
<c:forEach...>
  <c:set var="counter" value="${counter+1} />
  <c:if test="${2 == counter%3}">
    ...
  </c:if>
</c:forEach>
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Falsche Darstellung von JSF-Tags Web Tier 2
N Welche Technik bei grafischer Darstellung Web Tier 11
M In einer HTML Tabelle positionieren Web Tier 4
I Daten einer Datenbank in ein Formular einfügen Web Tier 3
N RequestDispatcher: include-Aufruf einer jsp scheitert nach mehreren forward-Aufrufen Web Tier 1
Shams Problem mit der verwirklichung einer Readmethode in einer Chatapplikation Web Tier 3
F JSF Popup mit einer Checkbox Auswahlliste Web Tier 1
S Rendern einer Komponente nach actionListener Web Tier 2
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
M JSF JSP, Facelets und einbinden einer js-Datei Web Tier 2
J JSF Initialisierung einer ApplicationScoped Bean Web Tier 2
J Anzeige einer Hierarchie Web Tier 5
M Exception beim Erstellen einer Query Web Tier 9
N JSF Architektur/Design einer JEE 6 + JSF 2.x Webanwendung mit Subdomänen Web Tier 4
J Performance einer Webanwendung Web Tier 2
V JSF Rendering abhängig von einer Auswahl Web Tier 8
P JSF Merkwürdiges Verhalten einer Bean Web Tier 11
S Auswahl eine Zeile von einer HTML Tabelle im Servlet Web Tier 4
X JSP Auslesen der Daten einer Session Web Tier 3
J Servlet Manuelles Rendern einer JSF Datei Web Tier 4
1 JSP Mit Daten einer c:forEach Rechnen ? Web Tier 4
H Seiten-reload als Result einer Action Web Tier 3
N Wie mache ich in einer xhtml (JSF) einen redirect? Web Tier 3
F Prinzipielle Architektur einer Web-Anwendung Web Tier 4
A [JSF 2.0] Ausgabe aus Schleife bzw. einer ArrayList Web Tier 9
E Servlet zum speichern einer Datei in einer Datenbank Web Tier 3
K Analye einer Seite (Java, JSP, ...) Web Tier 12
I Automatische Weiterleitung JSF mit Aufruf einer Methode Web Tier 2
O Focus auf Textfeld, in letzter Reihe einer dataTable Web Tier 2
M Frage zur Konfiguration einer RichFaces DataTable Web Tier 4
I Eine Bean von einer anderen Bean aufrufen Web Tier 2
C PanelGrid aus einer Liste Web Tier 3
J JSF: Initialisieren einer Property mit Wert? Web Tier 5
P Struts2 - Mehrere Methoden/Actions in einer Klasse + Validation Web Tier 2
S Attribute einer HttpSession / unchecked cast Web Tier 8
Schandro JSP soll dynamische Anzahl an Parametern einer JavaScript-Function erzeugen Web Tier 8
N Architektur einer Such-Webanwendung Web Tier 4
E Methode einer Bean aus anderer Bean aufrufen Web Tier 10
F Redirect nach Aufruf einer JSP Web Tier 5
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
C navigation auf einer jsp Seite Web Tier 3
pusteblume Mehrere Objekte einer Bean Web Tier 10
D JSF+Weiterleitung zu einer Login-Page Web Tier 1
F Beim Aufruf von einer JSF Seite eine Methode ausführen Web Tier 9
W Tabelle wird nicht aktualisiert Web Tier 8
H Frameset durch Tabelle ersetzten - Probleme mit jsp:include Web Tier 3
S JSP STRUCT Elemente in HTML Tabelle Web Tier 8
M JSF Wiederverwendbare Tabelle Web Tier 3
nrg Dynamische Tabelle Web Tier 4
R Zugriff Validator in Tabelle (ui:repeat) auf andere Felder Web Tier 2
C Aktualisieren eine Tabelle mit OnetoMany-Beziehuung Web Tier 6
M Problem mit Verlinkung JSP Dynamische Tabelle Web Tier 7
T Daten - DB-Abfrage - Tabelle Web Tier 5
K JSF: Tabelle; Button, Stringausgabe Web Tier 2
N Tabelle dynamisch mit Daten aus Datenbank füllen Web Tier 3
L Dynamische Eingabe-Tabelle mit JSF Web Tier 10
T Tabelle mit checkboxen in Struts Web Tier 19
T Iterate Tabelle mit verschiedenen Hintergründen (Stylesheet) Web Tier 7
N JSF-Tabelle erstellen aus Datenbank mittels JDBC Web Tier 12

Ähnliche Java Themen

Neue Themen


Oben