Avatar billede dl Nybegynder
20. september 2007 - 08:30 Der er 13 kommentarer og
1 løsning

Udskrivning af ArrayList med DTO i, på jsp

Jeg har i min session en ArrayListe som er fyldt med VurderVinDTO.
Jeg har kontrolleret om listen er i min session, det er den... kan jeg se på netbeans httpmonitor. Jeg kan også se, at der rent faktisk er items i.

session ->  list -> ArrayList -> VurderVinDTO

Så hvordan udskriver jeg en ArrayListe på siden:
noget som svare til

jeg har taglib, importet i mit project. (JSTL)

for ( int i = 0; i<list.size; i++ ){
  print
  ((vurderVinDTO)list.get(i)).getAuktionID
}



package dto;

import java.io.Serializable;

public class VurderVinDTO implements Serializable {
   
    private int auktionID;
    private String vinNavn;
    private int antal;
    private String kategori;
    private String kundeNavn;
    private String email;
   
    public VurderVinDTO(int auktionID, String vinNavn, int antal, String kategori, String kundeNavn, String email) {
        this.auktionID = auktionID;
        this.vinNavn = vinNavn;
        this.antal = antal;
        this.kategori = kategori;
        this.kundeNavn = kundeNavn;
        this.email = email;
    }
   
    public int getAuktionID() {
        return auktionID;
    }
   
    public String getVinNavn() {
        return vinNavn;
    }
   
    public int getAntal() {
        return antal;
    }
   
    public String getKategori() {
        return kategori;
    }
   
    public String getKundeNavn() {
        return kundeNavn;
    }
   
    public String getEmail() {
        return email;
    }
}
Avatar billede arne_v Ekspert
20. september 2007 - 16:23 #1
Brug JSTL c:forEach tag.
Avatar billede arne_v Ekspert
20. september 2007 - 16:24 #2
Se eksempel 5 (JSTL) i http://www.eksperten.dk/artikler/743
Avatar billede arne_v Ekspert
20. september 2007 - 16:30 #3
Bemaerk at siden JSP 2.0 kan du undlade c:out tag og bare bruge EL.
Avatar billede dl Nybegynder
20. september 2007 - 19:17 #4
jeg kan se, at du tager det fra en bean, eller DTO.

Jeg har en liste med beans i :)
og jeg kan ikke få det til at virke med forEach løgge.

<usebean  id="list"  class="java....ArrayList" scope="session">

inden  i min list ( ligger i session) ligger så min... hvad skal vi sige , personclass  med  navn og postnr.

hvordan henter jeg dem ud i min foreach, og det´der ligger fx 10 stk?

Nu har vi dog løst vores problem... men vil nu goddt have et svar på dette sp.
Avatar billede arne_v Ekspert
20. september 2007 - 19:59 #5
Mit eksempel har ogsaa en array list !

<c:forEach var="c" items="${allc}">

tager allc fra request/session/application og itererer over den og henter hvert
elemnt ud som c

d.v.s. at allc er en ArrayList og c er en DTO (Person i min artikel)
Avatar billede dl Nybegynder
20. september 2007 - 23:44 #6
Yes, så fik jeg det til at virke :)  dog med nogle sjove fejl.

jeg includer en header, hvori jeg har mit
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

For det første siger den: fejl: at min forEach ikke tager sådan nogle expr.

<c:forEach var="c" items="${vurdervinliste}">
...
</c:ForEach>

en tur på google, og jeg finder ud af at det kan løses ved at bruge
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core_rt" %>

Dette virker også, hvis jeg har dette lib på den samme side hvor jeg har min foreach.

Hvorfor virker det ikke, når det ligger i min header, som bliver includet på siden ( CSS i header, gør at jeg kan se det bliver included  )
Avatar billede arne_v Ekspert
21. september 2007 - 01:36 #7
Hvilken server / JSTL lib bruger du ?
Avatar billede dl Nybegynder
21. september 2007 - 08:06 #8
jeg bruger  JSTL 1.1  og den inbedded tomcat server i netbean 5.5.1
Avatar billede dl Nybegynder
21. september 2007 - 08:10 #9
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core_rt" %>

det lib virker, hvis det stå på samme side som  ForEach løkken. Jeg får data ud.
´
Det virker ÍKKE hvis jeg flytter taglib ud i en header.jsp side, som jeg så includer til siden med forEach løkken.

Det vil sige udfra dette: så skal jeg importere det taglib hvergang jeg skal bruge tag på en side ... og hvis jeg skal have omkring 13 sider, så bliver det mange gang, jeg skal sætte det ind.

//dennis
Avatar billede dl Nybegynder
21. september 2007 - 08:11 #10
Jeg kan om ikke andet sige, at du kan komme med et svar arna_v, eftersom problem med den foreach er løst :)  og det er bare mig som vil sætte det, noget pænere op.

//dl
Avatar billede dl Nybegynder
22. september 2007 - 15:11 #11
arne_v jeg vil meget gerne have et svar, så jeg kan lukke dette sp.

//dl
Avatar billede arne_v Ekspert
22. september 2007 - 16:41 #12
svar
Avatar billede arne_v Ekspert
22. september 2007 - 16:42 #13
Jeg filosoferede bare lidt over JSP versioner, Tomcat versioner og EL versioner.
Avatar billede dl Nybegynder
23. september 2007 - 17:25 #14
ja, det skal der jo også være tid til  :)

// dl
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester