TagLib und Referenzen zwischen Klassen

Status
Nicht offen für weitere Antworten.

Marsman

Bekanntes Mitglied
Hallo Ihr!

Ich bin Neuling bei der Programmierung mit JSP und TagLibs. Das ganze funktioniert schon prima und ich finde die Trennung von HTML und Java durch die TagLibs sehr gut. Nun habe ich vor, mit einem Tag eine Datenbankabfrage durchzuführen und mit darin geschachtelten weiteren Tags die Daten anzuzeigen. Ich stelle mir das in etwa so vor:

Code:
<table>
<abc:select table="addresses">
  <tr>
    <td><abc:column col="id" />
    <td><abc:column col="name" />
  </tr>
</abc:select>
</table>

Unter dem Tag select befindet sich eine Klasse, die Datensätze aus einer Datenbank abruft und per Iteration den Teil bis zum End-Tag wiederholt. Unter dem column-Tag befindet sich eine Klasse, die aus dem ResultSet die Daten ausließt. Mein Problem ist nun: Wie erhalte ich eine Referenz auf dieses ResultSet, das sich ja in der Select-Klasse befindet?? Oder ist mein Ansatz insgesamt nicht sinnvoll??

Titus

PS: Die Namen select und column sind hier nur als Beispiel gewählt.
 

matbach

Neues Mitglied
Du kannst das Result-Set z.B. im PageContext ablegen. Auf diesen hast Du in jedem tag Zugriff.
Ausserdem kannst Du dir vom inneren Tag immer das Parent-Tag geben lassen. FindAnchwestor ...
 

Marsman

Bekanntes Mitglied
byto hat gesagt.:
Warum nicht gleich mit JSTL?

Ich kannte das noch garnicht. Eigentlich wollte ich aber View (JSP) und Code (Java) nach Möglichkeit getrennt halten. Wie auch immer, ich habe mir das Tutorial mal ausprobiert. Leider habe ich es nach meheren Stunden nicht geschaft, eine Verbindung zur Datenbank zu bekommen:

Code:
javax.servlet.ServletException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver found for jdbc/TestDb"
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:843)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:776)
	org.apache.jsp.test_jsp._jspService(test_jsp.java:88)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)


Ich verwende Eclipse mit JBoss 4.0. Den MySQL-Connector habe ich nach C:\Programme\jboss-4.0.5.GA\server\default\lib kopiert. Im Deployment-Verzeichnis habe ich eine Datasource-XML erstellt. Mein JSP sieht ungefär so aus:


Code:
%@ 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" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<sql:setDataSource dataSource="jdbc/TestDb" />
	<sql:query var="books" >
  		select * from PUBLIC.test
	</sql:query> 
	<c:forEach var="book" begin="0" items="${books.rows}">
  		

${book.text}</p>
	</c:forEach> 
</body>
</html>


Ich wäre echt froh, wenn mir da nochmal jemand helfen könnte. Zunächst mal würde ich gerne wissen wollen, ob ich die Datesource in JBoss oder im darin integrierten Tomcat konfigurieren muss. Ich habe beides probiert, geht aber auch nicht. :cry:


Titus
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Frage zu Taglib und Expression Language Allgemeines EE 5
P JSP <-> Taglib Allgemeines EE 3
M taglib wird nicht gefunden Allgemeines EE 9
G eigene Taglib, Attribut kann auf einaml keine Expressions Allgemeines EE 2
K TagLib mit Java-Code mischen Allgemeines EE 5
I <%@ taglib uri="[url]http://java.sun.com/jsf/html"[/url] p Allgemeines EE 6
T Taglib Definitionen auslagern (JSP) Allgemeines EE 5
T Objekte an Taglib übergeben Allgemeines EE 7
M Mailer Taglib Attachment Allgemeines EE 4
G JSP & JSTL welche Taglib nochmal? Allgemeines EE 4
clemson HTML Taglib - mehrere Submit-Buttons & Internationalisie Allgemeines EE 4
G Referenzen auf JavaBeanObjekte in allen JSP-Seiten? Allgemeines EE 2
pkm Wie navigiert man zwischen JSP-Seiten; ist ein POST möglich? Allgemeines EE 2
K Unterschied zwischen JSP & Servlet gegenüber REST mittels JAX-RS Allgemeines EE 1
S JSP Zwischen zwei Formularen Daten austauschen Allgemeines EE 0
R Abhängigkeiten zwischen EJB-JARs Allgemeines EE 0
R RMI Zugriff zwischen zwei WAR Projekten Allgemeines EE 1
M Mapping zwischen JPA-Entitäten und Datentypen von Webservices Allgemeines EE 1
G Kommunikation zwischen den Schichtenmodellen Allgemeines EE 3
J Unterschied zwischen HttpSession und Stateful Session Bean Allgemeines EE 3
S Unterschied zwischen Tomcat und Application Server? Allgemeines EE 3
byte Trennung zwischen Test- und Produktiv-Umgebung Allgemeines EE 7
G Vergleich zwischen Java Spirng und Ruby on Rails Allgemeines EE 9
N Objekte zwischen zwei Application Contexts austauschen Allgemeines EE 19
M Unterschiede zwischen den EE-Servern? Allgemeines EE 6
R Unterschied zwischen DAO und DTO - Beispiel? Allgemeines EE 7
M Kommunikation zwischen zwei Servlets Allgemeines EE 5
M Attribute setzen/lesen zwischen JSP & Servlet nicht mögl Allgemeines EE 4
M Unterschied zwischen Servlet und Bean/EJB Allgemeines EE 2
V Unterschied zwischen Applicationserver und Servletcontainer Allgemeines EE 4
A Kommunikation zwischen Java Servlet und Bean Allgemeines EE 1

Ähnliche Java Themen

Neue Themen


Oben