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



## ebruss17 (16. Jan 2015)

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??:


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


----------



## Joose (16. Jan 2015)

ebruss17 hat gesagt.:


> ......die Werte der Spalte "System" werden aber immernoch nicht als Hyperlink dargestellt :/
> 
> 
> ```
> ...



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.


----------



## ebruss17 (16. Jan 2015)

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


----------



## ebruss17 (16. Jan 2015)

wenn ich das so löse:

```
<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 :/


----------



## Joose (16. Jan 2015)

Wie schon in vielen anderen Threads: Es fehlt dir reichlich an Grundlagen! Diese solltest du dir selber beibringen und erleichtern dir die Arbeit!



ebruss17 hat gesagt.:


> 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


----------



## Joose (16. Jan 2015)

ebruss17 hat gesagt.:


> ```
> <tr>
> ......
> </tr>
> ...



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.


----------



## ebruss17 (16. Jan 2015)

Mir ist halt nicht so ganz klar, an welcher Stell ich das jeweils einfügen muss.. :bahnhof:


----------



## Joose (16. Jan 2015)

ebruss17 hat gesagt.:


> an welcher Stell ich das jeweils einfügen muss.. :bahnhof:



Was willst du einfügen?
Wo einfügen? - Deswegen sollte man sich die Grundlagen anschauen! Damit man lernt (und danach übt) wie gewisse Sachen aufgebaut sind! Wie eben auch ein HTML Dokument
Hier 2 Links wie eine Tabelle in HTML aufgebaut ist
HTML Tables
SELFHTML: HTML/XHTML / Tabellen / Aufbau einer Tabelle


----------



## ebruss17 (16. Jan 2015)

ich möchte innerhalb der Spalte "System" bei den Werten einen Hyperlink drumrumbasteln. ich habe die Spalte auch schon innerhalb den a-Tags mitgegeben!


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


----------



## Joose (16. Jan 2015)

Ja schön der Code schaut richtig aus ... was funktioniert denn noch nicht?


----------



## ebruss17 (16. Jan 2015)

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:

```
<%
			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) {

			}
		%>
```


----------



## Joose (16. Jan 2015)

ebruss17 hat gesagt.:


> 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 ....

```
<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


----------



## ebruss17 (16. Jan 2015)

Für die Spalte "System" gibt es 4 Einträge... Und diese 4 Einträge möchte ich als Hyperlink darstellen.


----------



## Joose (16. Jan 2015)

ebruss17 hat gesagt.:


> 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?


----------



## ebruss17 (16. Jan 2015)

die Ausgabe der Hyperlinks sieht so aus:



also es wird nicht an der richtigen Stelle ("System")-Spalte dargestellt, sondern wie es im Bild zu sehen ist, an der ersten Spalte..... :/


----------



## Joose (16. Jan 2015)

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


----------



## ebruss17 (16. Jan 2015)

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.... :/


----------



## ebruss17 (16. Jan 2015)

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...


```
<%
			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>
```


----------

