2012-04-11 4 views
0

Ich habe ein Array userName [] [] von einem Servlet an eine JSP weitergeleitet. Ich kann auf die Array-Elemente wie ${userName[2][3]} zugreifen, aber ich kann nicht durch das Array mit einer Variablen durchlaufen. z.B. ${userName[i][j]} oder ${userName[<%=i>][<%=j>]} funktionieren nicht.Drucken eines Arrays, das von einem Servlet an eine JSP weitergeleitet wird

sollte ich auch meine Indexvariablen als var (JS) deklarieren, da mein Code auch JS verwendet, um ein Diagramm aus dem Array zu plotten, oder muss ich JSTL verwenden? Ich bin ein kompletter Neuling

Antwort

1

Hier ist für JSP, wie Sie durch eine Anordnung in JSTL iterieren (Beachten Sie, dass ich Sie Ihren Benutzernamen Variable pluralized, da es ein Array):

<c:forEach var="userName" items="userNames"> 
    // do something with the userName 
</c:forEach> 

Da Sie Array ist ein Array von Arrays können Sie nisten zwei Iterationen:

<c:forEach var="innerArray" items="userNames"> 
    <c:forEach var="element" items="innerArray"> 
     // do something with the element 
    </c:forEach> 
</c:forEach> 

Beachten Sie, dass JavaScript auf Client-Seite ausgeführt wird, während die JSP auf Server-Seite ausgeführt wird. Wenn der JS-Code ausgeführt wird, hat er keinen Zugriff auf Ihr serverseitiges Java-Array. Wenn Sie auf den Inhalt des Java-Arrays auf der Clientseite zugreifen müssen, sollten Sie es mit JSON serialisieren und den resultierenden JSON-String in JavaScript analysieren.

+0

danke, werde dies ausprobieren –

+0

Danke Nizet, aber ich würde gerne die indizierte Notation verwenden, so dass ich auf jeden Teil des Arrays zugreifen kann, anstatt nacheinander nacheinander zu durchlaufen. Kann mir da jemand helfen? –

+0

' $ {userName [i] [j]}' sollte wie erwartet funktionieren. –

Verwandte Themen