Je veux envoyer un ArrayList de type objet(TrackArtiste) de ma servlet à mon code ajax en utilisant la notation Gson:

Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
PrintWriter out = response.getWriter();
UserBean user = new UserBean();
user.setUserName(request.getParameter("user"));
user.setPassword(request.getParameter("pwd"));
Gson gson = new Gson();
JsonObject myObj = new JsonObject();
//myObj.addProperty("user", "appachito");
//TrackArtiste ta=new TrackArtiste("001","track","artiste","artisteLastFm",3,"","");
ArrayList<TrackArtiste> maListe=new ArrayList<TrackArtiste>();
TrackArtiste ta=new TrackArtiste();
ta.setCodeVerse("_0");
ta.setTrack("track");
ta.setArtiste("artiste");
ta.setPlayCount("123");
maListe.add(ta);
 
ta=new TrackArtiste();
ta.setCodeVerse("_0");
ta.setTrack("track1");
ta.setArtiste("artiste1");
ta.setPlayCount("40");
maListe.add(ta);
//JsonElement liste = gson.toJsonTree(maListe);
 
JsonElement element = gson.toJsonTree(maListe, new TypeToken<List<TrackArtiste>>() {}.getType());
JsonArray jsonArray = element.getAsJsonArray();
myObj.add("liste",jsonArray);
out.println(myObj.toString());
System.out.println(myObj);

Ma servlet construit bien mon arrayList et le coder en Gson, et voici le contenu de la console:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
{"liste":[{"track":"track","artiste":"artiste","codeVerse":"_0","playCount":"123"},{"track":"track1","artiste":"artiste1","codeVerse":"_0","playCount":"40"}]}
Dans ajax, je vais exploiter mon arraList<TrackArtiste> pour construire des liens(balises a), du coup j'ai fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
success: function(data){
	$("#playlist").html("");
	$.each(data, function(indice){
		$("#playlist").append("<a rel='0' id='"+data.liste.codeVerse+"'>"+data.liste.track+":"+data.liste.artiste+"</a>");
 
	})
..........
Soucis1: Mon ArrayList est composé de deux objets, alors que j'ai un seul lien au lien de deux.(comme si la boucle ne fonctionne pas parfaitement
soucis2:au lien d'avoir le contenu des attribut de mon objet, j'ai des indefined

Merci d'avance