# JSP - Variablen



## Dit (12. Feb 2007)

Hallo,

habe im Prinzip nen Simples Problem:

habe eine Forschleife in der ein Vector ausgelesen wird und in einer SelectBox angezeigt wird.

Wenn der User etwas in der SelectBox auswählt, soll das weiter oben angezeigt werden. Doch das Problem ist, das ich die Variable oben nicht kenne. Würde ich eine Global anlegen, hätte diese trotzdem nicht den aktuellen Wert, den der Benutzer in der SelectBox bzw. der Forschleife auswählt.

in de Beiden Selectboxen soll der Benutzer nun festlegen, wo der Artikel liegt und oben in der Label sollen diese Koordinaten angezeigt werden:

und hier noch der Quellcode:


```
table border="0" width="210" height="95">
	<tr>
		<th style="background-color: #FFBE00;" height="28">Lugar</th>
		<td style="background-color: #CDCDCD;"><label for="label"><%=hier müssen die beiden ausgewählten Artikel der Selectbox rein %></label>
		</td>
		<td>
			<button type="submit" name="button">[img]icons/OK.gif[/img]</button>
		</td>
	</tr>

	<tr>
		<th style="background-color: #FFBE00;" height="28">Rengion</th>
		<td><select name="rengion" size="1"
			style="background-color : #CDCDCD" style="width: 75px">
			<%
					try {
					System.out.println("placeName " + placeName);
					StringTokenizer tokenizer = new StringTokenizer(placeName, "/");
					String row = tokenizer.nextToken();
					System.out.println("row " + row);
					String col = tokenizer.nextToken();
					System.out.println("col " + col);
					
					int size = rows.size();
					
					for (int i = 0; i < size; i++) {
						Object item = rows.elementAt(i);
						%>
						<option value=<%=rows.elementAt(i) %>><%=rows.elementAt(i) %></option>
						<%
						if (item instanceof String) {
					if (((String) item).compareTo(row) == 0) {
						%>
						<option value=<%=rows.elementAt(i) %> selected ><%=rows.elementAt(i) %> </option>
						<%
					}
						}
					}
			%>
		</select></td>
		<td>&</td>
	</tr>

	<tr>
		<th style="background-color: #FFBE00;" height="28">Column</th>
		<td><select name="column" size="1"
			style="background-color : #CDCDCD" style="width: 75px">
			<%
			size = cols.size();
			for (int i = 0; i < size; i++) {
			Object item = cols.elementAt(i);
				%>
				<option value=<%= cols.elementAt(i) %>><%= cols.elementAt(i) %></option>
				<%
			if (item instanceof String) {
			if (((String) item).compareTo(col) == 0) {
				%>
				<option value=<%= cols.elementAt(i) %> selected ><%= cols.elementAt(i) %></option>
				<%
			}
			  }
			}
       
					}
			catch (Exception ignor) {
      		}
			
			%>
		</select></td>
		<td>&</td>
	</tr>
</table>
```


----------



## DP (12. Feb 2007)

mussu javascript nehmen wenn das nicht vom server gesetzt werden soll


----------



## Dit (12. Feb 2007)

Das Problem ist, dass ich keine JS verwenden soll, da wir uns nicht 100%ig sicher sind, ob die Pocket PC´s des Kunden JS fähig sind...

Daher treten auch so manch andere Probleme auf..

u.a. wo ich schon am Kniffeln bin... Radio Button, der genauso wie ein Submit Button fungiert!

bei beiden Probleme bin ich ratlos.


----------



## HLX (12. Feb 2007)

Browser sind leider relativ dumm. Dynamische Oberflächen sind mit reinem HTML nicht möglich. Um Java-Script völlig zu vermeiden gibt es nur den SUBMIT-Button, der eine Interaktion mit dem Server zur Folge hat. Ansonsten kann man eine Serverinteraktion durch den Java-Script-Befehl onChange am Dropdown-Menü erzeugen.

Ich pers verzichte auch auf Javascript wo es nur geht, aber in diesem Falle beuge ich mich dann auch und verwende onChange. Ist nicht´s schlimmes dabei  :wink:


----------



## DP (12. Feb 2007)

ohne js... muss ich passen, sorry.

evtl. ajax wenns erlaubt ist.


----------



## Dit (12. Feb 2007)

es geht ja nicht darum, dass ich kein JS nehmen möchte, es ist mir einfach zu Risikoreich, nachher auf der Baustelle irgendwo in China feststellen zu müssen, dass die Pocket PC´s nicht JS fähig sind!  :roll: 

daher versuche ich dies zu umgehen, sollte es wirklich keine andere Lösung geben ohne JS muss ich mir noch mal gedanken machen  ???:L


----------



## HLX (12. Feb 2007)

In diesem unwahrscheinlichen Fall sollte die Anwendung natürlich auch ohne JS funktionieren. Auf die dynamische Änderung im Browser muss dann allerdings verzichtet werden. Der Anwender muss einen Submit-Button drücken sonst passiert garnichts. Schreibe dein Programm mit Javascript und teste dann mit deaktivertem JavaScript, ob irgendwas vor die Wand fährt. Anwender mit Browsern ohne JS müssen mit dem verminderten Funktionsumfang leben.


----------



## Dit (12. Feb 2007)

habe gerade mit  meinem Kollegen geredet... wir werden versuchen JS zu nehmen, aber nur die Grundversion die bereits im ersten JS-fähigen Browser läuft.. hoffe nur mal, dass ich mal eine Übersicht bekomme, welche Befehle neuer sind, bzw. was in welchen Browser zu Problemen führt :wink:


----------



## SnooP (12. Feb 2007)

Wie vorgeschlagen würde ich dann allerdings nur onChange verwenden... sollte dann nämlich javascript doch ausgeschaltet sein oder sonstwie kann man die Interaktion durch manuelles drücken des submit-buttons hinbekommen...

Das Javascript ist dabei dann also nur ne kosmetische Verbesserung der gui und die anwendung würde auch so gehen... wenn auch nicht so hübsch, sprich die Anzeige würde nicht automatisch aktualisiert...


----------



## Ralf Ueberfuhr (13. Feb 2007)

DP hat gesagt.:
			
		

> ohne js... muss ich passen, sorry.
> 
> evtl. ajax wenns erlaubt ist.



*rofl* Sorry, aber das fand ich jetzt lustig.

Ohne JS geht die gewünschte Funktion nicht.


----------

