Array mit JSTL oder EL erstellen
Ich arbeite an einer web-Anwendung mit Java und seinen frameworks(Spring 3.1.1). Und ich versuche zu vermeiden, mit scriptlets so viel wie möglich, aber ich kann nicht finden, eine andere Weise, als dies zu definieren, die ein array:
<%
String[] alphabet = {"A", "B", "C", ... , "Z"};
pageContext.setAttribute("alphabet", alphabet);
%>
Nach Einstellung pageContext-Attribut, kann ich es mit ${alphabet}
. Aber ich möchte wissen, ist es möglich, mit einfachen JSTL/EL, ein array zu erstellen?
UPDATE: ich bin mit diesem array um links zu erstellen. Zum Beispiel, wenn der Benutzer klickt 'S', eine Liste der Mitarbeiter, deren Vorname fängt mit " S " kommt. Also, anstatt links, eins nach dem anderen ich bin der Iteration ${alphabet}
.
InformationsquelleAutor der Frage Alpha Carinae | 2013-01-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie bereits auf EL 3.0 (Tomcat 8+, WildFly 8+, GlassFish 4+, Payara 4+, TomEE 7+, usw) unterstützt, das neue Operationen auf collection-Objektedie Sie verwenden können
${[...]}
syntax, um eine Liste erstellen, und${{...}}
syntax konstruieren Sie einen Satz.Wenn Sie nicht auf die EL 3.0 noch, verwenden Sie die
${fn:split()}
Funktion trick auf eine einzelne Zeichenfolge, die trennt die einzelnen Zeichen von einem gemeinsamen separator wie Komma.Ist mir jedoch Zustimmen, dass man besser mit normalen Java-code für diese. Da es anscheinend statische Daten, erstellen Sie einfach diese listener-Klasse:
Werde es transparent auto-registrieren Sie sich auf der webapp zu starten und setzen Sie die gewünschten Daten im application-scope.
InformationsquelleAutor der Antwort BalusC
Wenn Sie möchten, Durchlaufen die Token im string, dann verwenden Sie einfach
forTokens
:InformationsquelleAutor der Antwort Andrii Nemchenko
Wenn Sie verwenden die Java-EE-7 /Expression Language 3.0 können Sie erstellen eine
List
wörtlichedie dann Durchlaufen viel wie ein
Array
.InformationsquelleAutor der Antwort mxk
JSP ' s sind nicht dazu gedacht, für diese Art von Futtermitteln. Sie sollen konsumieren, nicht zu schaffen. Wenn Sie möchten, ein array zu erstellen, dann benötigen Sie wahrscheinlich ein
Servlet
hier.Fügen Sie die Logik der array-Erstellung (oder noch besser, Listen-Erstellung), in einen Servlet-Container, und verwenden Sie es, um pre-Prozess die Anfrage zu Ihrem JSP-Seite. Und dann, Sie können die
List
Attribut in derservlet
in IhremJSP
Seite.InformationsquelleAutor der Antwort Rohit Jain
Nicht rein EL, aber eine ziemlich saubere Lösung dennoch:
InformationsquelleAutor der Antwort wvdz
Ohne zu wissen, welche Rahmen sind Sie mit, den besten Ansatz für die Arbeit mit JSPs ohne die Verwendung ist die scriptlets ist wieder jede JSP (view) mit einer Java-bean (ein Objekt):
Backing-bean:
Dann instanziieren der bean in die JSP-so:
Danach könnten Sie die EL
${backingBean.alphabet}
für den Zugriff auf diese Liste.Hinweis: wenn Sie mehr komplexe Verarbeitung dann verwenden Sie Servlets oder eine der Funktionen von jedem Rahmen.
InformationsquelleAutor der Antwort Alonso Dominguez