Wie kann ich produzieren ein select-tag mit JSTL-oder Standard-Aktionen in JSP
Möchte ich ein select-tag in der JSP, wo die Optionen sind, eine Aufzählung (Z. B. alle US-Bundesstaaten). Ist Ihr ein tag in JSTL oder ein standard-tag, die dies tun können, ohne dass manuell Durchlaufen der Liste?
Sie sollten wirklich klären, der Begriff "manuell" mehr hier. Sollten Sie auch klären, was ist Los mit c:forEach. Dynamisch iteriert über die Liste als auch ohne, dass Sie brauchen, um zu wissen, die Menge der Elemente Voraus.
InformationsquelleAutor Eric Wilson | 2010-02-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es nicht in der JSTL. Aber viele frameworks bieten eine solche zusätzliche tags:
Struts2 -
<s:select>
Spring MVC -
<form:select>
<h:selectOneMenu>
h:selectOneMenu
.Ich verwende Struts2. Ich habe vergessen, dass ich verwenden könnte, die struts-tags ohne Verwendung des Struts framework.
Ich habe verstanden, dass 'manuell' bedeutet 'durch
c:forEach
', aber es könnte auch sonst was bedeuten.InformationsquelleAutor Bozho
Sicherlich, in JSTL (nur drop jstl-1.2.jar in
/WEB-INF/lib
) gibt es diec:forEach
tag. Sie müssen nur konvertieren der (altmodischen)Enumeration
zu einem modernenList
oder vielleichtEnum
wenn es hardcoded in Java. Sie können, wenn notwendig, greifenSammlungen#list()
für wenn dieEnumeration
ist, die aus einem unveränderbaren 3rd-party-API.Hier ist eine demo wie die
<c:forEach>
dann verwendet werden können:Den
${countries}
sollte sich einList<Country>
oderCountry[]
wurde in jeder derpage
,request
,session
oderapplication
Bereiche — von denen dieapplication
Umfang ist die einfachste Wahl, als eine Liste der Länder, soll eine Anwendung, die Breite konstant. Man könnte einServletContextListener
laden Sie es einmal und legen Sie im Anwendungsbereich auf Anwendung startup. DieCountry
ist in diesem Beispiel nur eine Javabean (model) Klasse mit mindestens zwei Eigenschaften.Siehe auch:
InformationsquelleAutor BalusC