Bonjour,
Je suis en train d'utiliser de l'Ajax au sein de Spring, qui offre pas mal de simplifications. Par de simples annotations, il utilise du Json, qui est quasi transparent pour nous.
Tant que j'utilisais un type de retour String, Integer, ou même Object par exemple cela fonctionnait sans souci, mais pour certains besoins j'aimerais pouvoir retourner des objets, et surtout des listes de d'objets, qui sont des entités (JPA/MySQL). Ce sont mes entités qui "transportent" les données venant de ma BD. Et c'est le souci.
// FONCTIONNE car le type de retour est String
// NE FONCTIONNE PAS car le type de retour une liste d objets qui sont des entités
Code : 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 $.ajax({ type: "POST", url: "/EDT.WAR/MAJListeActivites_EDT.html", data: "idUESelectionnee="+ idUESelectionnee, success: function(response){ alert(response); }, error: function(e){ alert('Erreur: ' + e); } }); @RequestMapping(value ="/MAJListeActivites_EDT") public @ResponseBody String MAJListeActivites_EDT(String idUESelectionnee) { return "test"; }
Voici ma classe UE :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 @RequestMapping(value ="/MAJListeActivites_EDT") public @ResponseBody List<UE> MAJListeActivites_EDT(String idUESelectionnee) { List<UE> lesUE = EditerEDTService.listerLesUEOuvertes(); return lesUE; }
Il passe donc dans la partie Erreur du code Ajax.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 @Entity @Table(name = "ue") public class UE implements Serializable { @Id @GeneratedValue private int idUE; private String libelle; private String description; @ManyToOne private Professeur responsable; +constructeur, getters, setters ..
Trace console d'erreur :
Si quelqu'un a une idée ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:118) at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:268) at org.codehaus.jackson.map.ser.BeanSerializer.serializeFields(BeanSerializer.java:146)
Merci
Gwen
Partager