# Dynamische Werte (HTML, JavaScript)



## The_S (18. Okt 2006)

Hi,

ich schreibe zZ an einer jsp zu einem Portlet. In dieser jsp wird eine ziemlich große Tabelle angelegt. Da die Darstellung immer gleich ist, wollte ich das in der jsp mithilfe von verschachtelten Schleifen lösen:


```
<TABLE border="0" cellpadding="4" cellspacing="0" class="bestimmteFormatierung"> 
	<%for (int i = 0; i < tage.length + 1; i++) {%>
		<TR>
			<TD><%if (i == 0) {%>&<%} else {%><hauseigenerTag key="<%=tage[i-1]%>" /><%}%></TD>
			<%for (int j = 0; j < gerichte.length; j++) {%>
				<%if (i == 0) {%>
					<TD><hauseigenerTag key="<%=gerichte[j]%>" /></TD>
				<%} else {%>
					<TD><TEXTAREA rows="4" cols="20" name="<nochEinTag value='<%=tageab[i-1] + gerichteab[j]%>'/>"><%=sessionbean.getData(i-1, j * 2)%></TEXTAREA></TD>
				<%}%>
			<%}%>
		</TR>
		<%if (i > 0) {%>
			<TR>
				<TD>&</TD>
				<%for (int j = 0; j < gerichte.length; j++) {%>
					<TD><INPUT size="10" maxlength="20" value="<%=sessionbean.getData(i-1, j * 2 + 1)%>" name="<nochEinTag value='<%=tageab[i-1] + gerichteab[j]%>kz'/>"></TD>
				<%}%>
			</TR>
		<%}%>
	<%}%>
</TABLE>
```

Das Problem stellt jetzt unser "hauseigenerTag" dar. Dieser Tag macht nichts anderes, als einen String anhand des übergebenen keys aus einer properties-Datei zurückzugeben, aber leider kann er (wie ich soeben erfahren habe :? ) keine Java-Tags (spirch <%=blub%>) interpretieren. Die keys hab ich momentan in String-Arrays (tage + gerichte) vorliegen. Kann ich jetzt irgendwie in HTML auf z. B. ein JavaScript-Array zugreifen (das ich natürlich vorher dann mti den Daten aus meinen Java-String-Arrays füllen würde  )? Oder fällt jemand eine andere Lösung ein?

Danke!


----------



## SlaterB (18. Okt 2006)

Frage:
wie übergibst du denn überhaupt erfolgreich einen Parameter an den Tag? 
welcher andere dynamische Inhalt ist denn geeigneter?

und gibt es keinen Weg <%=gerichte[j]%> an anderer Stelle in einer solchen geeigneten Variablen zu speichern?
z.B. in einem c:set oder in Java pageScope.setAttribute()


----------



## The_S (18. Okt 2006)

Hab mich jetzt nochmal genauer bei nem Kollegen befragt. Und zwar akzeptiert der Tag lediglich direkte Eingaben wie z. B.


```
<hauseigenerTag key="ichBinEinKey" />
```

keine Ahnung warum :? . Was ich mir jetzt überlegt habe, ist evtl. diesem Array anstatt den keys gleich die values zuzuweisen. Also im Prinzip sowas


```
<%gerichte[0] =%><hauseigenerTag key="key" /><%;%>
```

natürlich funktioniert das so nicht (und ich hab auch kA wie dann, hab sowas bis jetzt noch nie gebraucht ... :cry: ). Gibts aber eine Möglichkeit so einer Java-Variable einen Wert zuzuweisen? Das würde zwar auch viel Code erzeugen, aber 1000mal weniger, als die komplette Tabelle manuell anzulegen ...


----------



## KSG9|sebastian (18. Okt 2006)

Irgendwie kapier ich das nicht so ganz. Du willst beim Aufruf der Seite bestimmte Werte (gerichte[..]) mit dem passenden Key abspeichern?

Die Werte kommen aus einer Propertiesdatei und müssen wohin? Ich kapier das nicht..

Kannst du den eigenen Tag bearbeiten? Den Code meine ich..


----------



## The_S (18. Okt 2006)

Den eigenen Tag kann ich nicht bearbeiten.

Also, die Spalten und Zeilen der Tabelle sind/sollen mit Werten beschriftet (werden). Diese Werte hole ich mir über unseren eigenen Tag und einen Key (unser Portal existiert in Deutsch und in Englisch und je nach Einstellung wird halt der Englische oder der Deutsche Text für den übergebenen key geladen). Da die Tabelle ziemlich groß ist, wollte ich mir die Arbeit ersparen alle Tabellen von Hand anzulegen und stattdessen eine dynamische Tabelle generieren (funktioniert auch wunderbar => siehe 1. Post). Die Daten der Tabelle werden in meinem SessionBean gespeichert und können deshalb auch ganz normal (und dynamisch  ) angezeigt werden. Allerdings muss die Beschriftung der Spalten und Zeilen ja wohl oder übel auch dynamisch mit erzeugt werden. Wie jetzt aber die einzelne Spalte/Zeile beschriftet werden sollen, bekomm ich nur über eben diesen einen eigenen Tag heraus, der außer puren Text nichts akzeptiert. Und hier liegt dann mein Problem, weil ich die keys für die Beschriftung ja in einem Array gespeichert habe.

Ich hoffe es ist jetzt ein bisschen klarer  .


----------

