Taglib c:forEach - Parameterarray für Schleife verwenden

glhlg

Mitglied
Hallo,

ich möchte gerne einen Parameter auslesen und dessen Werte in eine Selectbox schreiben.
Wenn ich das per Scriptlet mache, funktioniert das wunderbar, via Taglib leider nicht.

Es geht mir darum, dass mehr Parameter ausgelesen / angezeigt werden sollen:
www.example.com/taglibtest.jsp?mehrere=1000&mehrere=2000
Leider wird bei der Taglib-Variante nur einer der übergebenen Parameter ausgelesen.

Ich habe mal eine Testseite angelegt:

Code:
	<body>
	
			<span>via Taglib:</span><br />
			<select name="newChosenServicesTaglib" class="serviceselect ui-widget-content" size="7" multiple="multiple">
				<c:forEach items="${param.mehrere}" var="cur">
					<option value="${cur}">${cur}</option>
				</c:forEach>
			</select>
			
			<br />
			<br />
			<br />
			
			<span>Scriptlet:</span><br />
			<select name="newChosenServices" class="serviceselect ui-widget-content" size="7" multiple="multiple">
				<%
					String[] mehrere = request.getParameterValues("mehrere");
				
					if(mehrere != null)
					{
						for(String cur : mehrere)
						{
							%><option value="<%= cur %>"><%= cur %></option><%
						}
					}
				%>
			</select>
		
	</body>

Was ist da noch falsch?

Danke schon mal für eure Hilfe!
Gruß
Gerrit
 
Ähm ja...spontan würd ich mal sagen, du solltest den Parametern immer eindeutige Namen geben, weil sonst gibt er dir immer nur das zuerst gefundene zurück.
Bei mehreren ineinander verschachtelten Infos vllt. eher auf Java Bean setzen. Ist weniger zu tippen und klarer.
 
Hi,
versuch mal das:
Java:
 			<select name="newChosenServicesTaglib" class="serviceselect ui-widget-content" size="7" multiple="multiple">
				<c:forEach items="${mehrere}" var="cur">
					<option value="${cur}">${cur}</option>
				</c:forEach>
			</select>

Wenn das nicht geht, zeig mal deinen Controller, Servlet etc. wie du die Parameter an die Seite übergibst.

Grüße
Peter
 
Hallo,

Hi,
versuch mal das:
Java:
 			<select name="newChosenServicesTaglib" class="serviceselect ui-widget-content" size="7" multiple="multiple">
				<c:forEach items="${mehrere}" var="cur">
					<option value="${cur}">${cur}</option>
				</c:forEach>
			</select>

Wenn das nicht geht, zeig mal deinen Controller, Servlet etc. wie du die Parameter an die Seite übergibst.

Wenn ich das mache, dann ist die Selectbox einfach leer. Also ... es passier nichts.

Einen speziellen Container habe ich nicht.
Tomcat 6, und ansonsten gebe ich einfach nur die URL aus meinem ersten Post ein.
Oder was meinst du?

Gruß
Gerrit
 
Hi,

so gehts:
Java:
<select name="newChosenServicesTaglib" size="7" multiple="multiple">
                <c:forEach items="${paramValues.mehrere}" var="cur">
                    <option value="${cur}">${cur}</option>
                </c:forEach>
 </select>
(War aber auch wirklich fies...)

Grüße
Peter
 
Zuletzt bearbeitet von einem Moderator:
Zurück