Wie kann man mit einer ID-Spalte über eine Parameterübergabe auf eine Seite verweisen?

ebruss17

Bekanntes Mitglied
Hallo Community,

ich gebe eine Datenbank-View auf meiner JSP-Seite aus, die aus unterschiedlichen Tabellenspalten besteht. Nun habe ich dort eine Spalte "System", deren Werte als Hyperlink dargestellt werden sollen. Da muss ich doch so eine if-Bedingung zusammenbasteln, wenn diese Spalte Werte besitzt, sollen diese als Hyperlink a-Tag dargestellt werden und wenn ich auf die jeweiligen Hyperlinks draufklicke, soll es mich anhand der systemID auf die jeweilige Seite weiterleiten. Die Seite heisst "Configuration.jsp" in der die configuration-Files des jeweiligen Systems enthalten sind.

ich habe jetzt so eine if-Bedingung zusammengebastelt, die Werte der Spalte "System" werden aber immernoch nicht als Hyperlink dargestellt :/ Kann mir jemand behilflich sein??:

Java:
<%
					if (kunden.getString("System") != null) {
		%>
		<a href="Configuration.jsp?xml=<%=kunden.getString("systemID")%>"></a>
		
<%} %>
 
......die Werte der Spalte "System" werden aber immernoch nicht als Hyperlink dargestellt :/

Java:
<%
					if (kunden.getString("System") != null) {
		%>
		<a href="Configuration.jsp?xml=<%=kunden.getString("systemID")%>"></a>
		
<%} %>

Was soll als Hyperlink dargestellt werden? Zwischen den <a>-Tags fehlt ein Text für den Link! Siehe deinen eigenen Beitrag http://www.java-forum.org/datenbankprogrammierung/164910-man-if-bedingung-select-statements-ueberpruefen-2.html#post1045801 ... den Link um zum XML weiterzuleiten.
 
wenn ich das so löse:
Java:
		<tr>
		    <%
    if (kunden.getString("System") != null) {
    %>
    
    <a href="Configuration.jsp?xml=<%=kunden.getString("systemID")%>"><%=kunden.getString("System")%></a>
     
    <%} %>
		
		</tr>

DANN werden diese nicht in der jeweiligen Zelle dargestellt, sondern außerhalb der Tabelle an der linken Seite :/
 
Wie schon in vielen anderen Threads: Es fehlt dir reichlich an Grundlagen! Diese solltest du dir selber beibringen und erleichtern dir die Arbeit!

Die Tabellenspalte "System" soll als HYPERLINK dargestellt werden .... Muss ich das zwischen den a-Tags bekanntgeben aber wie?

Ein Hyperlink besteht aus einer URL (das Attribut href, damit wird das Ziel deines Links definiert) und einem Linktext (der Text der zwischen den <a>-Tags stehen muss) das kann alles mögliche sein je nachdem was du dort stehen haben willst! Das kann "hugo" sein, aber auch "fritziwitz", "asdöl213e789ß12" einfach alles mögliche ....

Hier ein Link zu Grundlagen von HTML - a Tag
 
Java:
<tr>
     ......		
</tr>

DANN werden diese nicht in der jeweiligen Zelle dargestellt, sondern außerhalb der Tabelle an der linken Seite :/

Wieder Grundlagen von HTML - Aufbau einer Tabelle: Eine Zeile <tr> muss Zellen enthalten <td>.
Wenn du keine Zellen einfügst kann der Link auch nicht in einer Zelle angezeigt werden.
 
Zuletzt bearbeitet:
ich möchte innerhalb der Spalte "System" bei den Werten einen Hyperlink drumrumbasteln. ich habe die Spalte auch schon innerhalb den a-Tags mitgegeben!

Java:
    <%
    if (kunden.getString("System") != null) {
    %>
    					 <td><a href="Configuration.jsp?xml=<%=kunden.getString("systemID")%>"><%=kunden.getString("System")%></a></td>
    
     
    <%} %>
 
ich befürchte, ich füge es an der falschen Stelle ein, weil die Hyperlinks werden an der ersten Spalte dargestellt und nicht an der Spalte "System" :bahnhof:
Java:
<%
			while (kunden.next()) {
		%>

		<%
			//Kreisdateien für Pass-Spalte
					String bildURL;

					if (kunden.getInt("Pass") == 0) {
						bildURL = "roter_Kreis.gif";
					} else {
						bildURL = "gruener_Kreis.gif";
					}
		%>

		<tr>
			<%
				if (kunden.getString("System") != null) {
			%>

			<td><a
				href="Configuration.jsp?xml=<%=kunden.getString("systemID")%>"><%=kunden.getString("System")%></a>
			</td>
			<%
				}
			%>
		</tr>
		<tr>
			<td><img src="<%=bildURL%>">
			</td>
			<%
				for (int i = 1; i <= numberOfColumns; i++) {
							//Spalte überspringen, wenn i = ID-Spalte.
							if ("systemID".equalsIgnoreCase(rsmd.getColumnLabel(i))) {
								i++;
							}
							if ("logfileID"
									.equalsIgnoreCase(rsmd.getColumnLabel(i))) {
								i++;
							}
							if ("Pass".equalsIgnoreCase(rsmd.getColumnLabel(i))) {
								i++;
							}
							if ("Hostname".equalsIgnoreCase(rsmd.getColumnLabel(i))) {
								i++;
							}
							if ("OS".equalsIgnoreCase(rsmd.getColumnLabel(i))) {
								i++;
							}

							if (i != numberOfColumns) {
			%>

			<td><%=kunden.getString(i)%></td>

			<%
				} else {
			%>
			<!--  anhand der logfile-ID auf das jeweilige Logfile referenzieren, das in XML.jsp ausgegeben wird-->
			<td><a href="XML.jsp?xml=<%=kunden.getString("logfileID")%>"><img
					width="32" height="32" src="xml.png"> </a></td>
		</tr>
		<%
			}
					}

				}
			} catch (SQLException e) {

			}
		%>
 
ich befürchte, ich füge es an der falschen Stelle ein, weil die Hyperlinks werden an der ersten Spalte dargestellt und nicht an der Spalte "System" :bahnhof:

An dieser Stelle kommen wieder die Grundlagen ins Spiel ....
Code:
<tr>
    <td> ..... </td>
</tr>
<tr>
    <td> .... </td>
    <td> .... </td>
    <td> .... </td>
    <td> .... </td>
    ...
</tr>

Dadurch werden dir immer 2 Zeilen erzeugt, ich nehme an du willst nur eine Zeile haben oder?
Wenn ja dann musst du die beiden <tr> Tags zusammenfassen. Leider weiß ich auch nicht welches deine Spalte "System" ist (Header Informationen werden ja nicht verraten)

Kleiner Tipp: Schau dir die Grundlagen an und versuche zuerst mittels einen stinknormalen HTML File Tabellen zu üben, kostet dich keine 10 Minuten 🙂
Dieser Link sollte dir eigentlich die Lösung verraten 🙂 empty-cells: Leere Tabellenzellen: Beispiel zur CSS-Referenz auf CSS 4 You - The Finest in Stylesheets
 
Zuletzt bearbeitet:
Für die Spalte "System" gibt es 4 Einträge... Und diese 4 Einträge möchte ich als Hyperlink darstellen.

Das ist schön für diese 4 Einträge, das diese als Hyperlink in der Tabelle (in der Spalte System) dargestellt werden sollen ist mir schon beim 1.Post klar gewesen.

Versetze dich in meine Lage: Ich kenne deinen Code nicht (das bisschen von oben verrät zwar wie du die <tr>-Tags erzeugst, aber nicht welche Spalten es gibt usw), ich weiß nicht was aktuell bei dir ausgegeben wird (außer anscheinend etwas falsche) und was eigentlich ausgegeben werden sollte.

Sprich: Wie schaut dein Code der die Tabelle erzeugt aktuell aus? Was gibt es für Fehler - was wird nicht angezeigt bzw. falsch angezeigt?
 
die Ausgabe der Hyperlinks sieht so aus:

Capture.PNG

also es wird nicht an der richtigen Stelle ("System")-Spalte dargestellt, sondern wie es im Bild zu sehen ist, an der ersten Spalte..... :/
 
Gut und wie ich dir schon oben gesagt habe: Ich weiß leider nicht wie deine Tabelle aufgebaut ist, daher kann ich auch nicht genau sagen was bzw. wo die System Spalte zu sein hat.

Aber was ich wiederholen kann:
Du erzeugst für deinen Hyperlink jeweils eine eigene Zeile, ob das gewollt ist oder nicht hast du auch nicht verraten (gefragt habe ich es).
Wenn es gewollt ist das eine eigene Zeile dafür exisitiert und du nur den Eintrag um X Spalten "nach hinten setzen" willst habe ich dir hier einen Link gepostet wie du das realisieren kannst (leere Zellen usw.): empty-cells: Leere Tabellenzellen: Beispiel zur CSS-Referenz auf CSS 4 You - The Finest in Stylesheets
 
ich habe es jetzt hinbekommen, dass die WErte der Spalte "System" mit einem Hyperlink versehen werden, jetzt habe ich nun das Problem, dass die Werte der Spalten, die nach der Spalte "System" kommen, um 1 nach rechts verschoben werden.... :/
 
Zuletzt bearbeitet:
Nach der Änderung sieht mein Code so aus: Wie gesagt die Werte der Spalten, die nach der Spalte "System" kommen, sind jetzt um 1 nach rechts jeweils verschoben...

Java:
<%
			while (kunden.next()) {
		%>

		<%
			//Kreisdateien für Pass-Spalte
					String bildURL;

					if (kunden.getInt("Pass") == 0) {
						bildURL = "roter_Kreis.gif";
					} else {
						bildURL = "gruener_Kreis.gif";
					}
		%>

	
		<tr>
			<td><img src="<%=bildURL%>">
			</td>
			<%
				for (int i = 1; i <= numberOfColumns; i++) {
							//Spalte überspringen, wenn i = ID-Spalte.
							if ("systemID".equalsIgnoreCase(rsmd.getColumnLabel(i))) {
								i++;
							}
							if ("logfileID"
									.equalsIgnoreCase(rsmd.getColumnLabel(i))) {
								i++;
							}
							if ("Pass".equalsIgnoreCase(rsmd.getColumnLabel(i))) {
								i++;
							}
							if ("Hostname".equalsIgnoreCase(rsmd.getColumnLabel(i))) {
								i++;
							}
							if ("OS".equalsIgnoreCase(rsmd.getColumnLabel(i))) {
								i++;
							}
							
							if ("System".equalsIgnoreCase(rsmd.getColumnLabel(i))) {
						%>
						<td><a
							href="Configuration.jsp?xml=<%=kunden.getString("systemID")%>"><%=kunden.getString("System")%></a></td>
						
						<%
							}
							if (i != numberOfColumns) {
			%>

			<td><%=kunden.getString(i)%></td>
			
			<%
				} else {
			%>
			<!--  anhand der logfile-ID auf das jeweilige Logfile referenzieren, das in XML.jsp ausgegeben wird-->
			<td><a href="XML.jsp?xml=<%=kunden.getString("logfileID")%>"><img
					width="32" height="32" src="xml.png"> </a></td>
		</tr>
		<%
			}
					}

				}
			} catch (SQLException e) {

			}
		%>
	</table>
 
Zuletzt bearbeitet:

Zurück
Oben