2010-12-05 28 views
1

mon modèle retourne un arraylist de chaînes Servlet sous la formeLe passage d'un ArrayList d'un Servlet JSP

ArrayList<String> currentCustomer = model.getAllCustomers(); 

je veux transmettre cette arraylist du servlet à la page jsp. Comment puis-je faire cela? ci-dessous est ce que j'ai essayé

req.setAttribute("currentCustomer", currentCustomer); 

et dans la page jsp, je veux utiliser JSTL à boucle sur chaque valeur et l'afficher. comment je fais ça? C'est frustrant pour moi. ive a balayé le web mais en vain. Toute aide est grandement appréciée.

ici est le code jsp

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> 


<body> 
    <div> 
     <c:forEach var="customer" items="currentCustomer"> 
      ${customer} 
     </c:forEach> 
    </div> 
</body> 
+0

Pourriez-vous nous montrer votre fichier web.xml? Incluez l'élément avec tous ses attributs. – prasopes

Répondre

2

ses gars allrite, je résolu le problème .. merci pour votre aide ..

apparemment (! internet grâce) code que j'utilisais était dépassé, je suis en train d'écrire ceci sur l'en-tête:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> 

alors qu'il aurait dû être

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
+0

et aussi, l'attribut items était incorrect. il ne devrait pas être , il devrait être

0

Il sera Smt comme

<c:forEach var="currentCustomer" items="${customers}"> 
    ${currentCustomer.name} 
    ${currentCustomer.age} 
</c:forEach> 
+0

mais comment retourner l'arraylist à la jsp elle-même? –

2

Faisons fonctionner :)

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
... 
<c:forEach var="customer" items="${currentCustomer}"> 
    <c:out value="${customer.name}" /> 
    <c:out value="${customer.age}" /> 
</c:forEach> 

post-scriptum jsp: useBean est une autre façon d'aller ...

P.P.S. J'ai également fait une correction dans l'importation taglib. C'est une de ces erreurs difficiles visibles lorsque vous pouvez regarder sur deux entrées différentes et pensent qu'ils sont les mêmes :)

+0

oui il y a. mais même après les avoir essayés, ils ne semblent pas fonctionner. Est-ce que je dois faire

+0

@Dhruv: vous n'avez pas besoin de , l'attribut currentCustomer dans votre exemple de code est une chaîne. Vous en auriez besoin si vous stockez un objet d'une autre classe que String, par ex. un objet client. – prasopes

+0

@Dhruv: Si cette correction de code de Filip n'a pas aidé, vous faites probablement référence à JSTL de manière erronée (probablement une combinaison incorrecte de versions de JSTL et de Servlet/JSP). – prasopes