Spring MVC 3 + Ajax + JQuery + JSon
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
Code:
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";
} |
// NE FONCTIONNE PAS car le type de retour une liste d objets qui sont des entités
Code:
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;
} |
Voici ma classe UE :
Code:
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 .. |
Il passe donc dans la partie Erreur du code Ajax.
Trace console d'erreur :
Code:
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) |
Si quelqu'un a une idée ...
Merci
Gwen