Spring MVC 3 - Liaison de Données Avancées - Formulaire de Demande avec la Liste des Objets Simples

J'ai lu tous les Printemps 3 Web docs: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/spring-web.html mais ont été complètement incapable de trouver une intéressante documentation sur la liaison plus compliqué de demande de données, par exemple, disons que j'utilise jQuery pour poster un contrôleur comme suit:

$.ajax({
    url: 'controllerMethod',
    type: "POST",
    data : {
        people : [
        {
            name:"dave", 
            age:"15"
        } ,
{
            name:"pete", 
            age:"12"
        } ,
{
            name:"steve", 
            age:"24"
        } ]
    },
    success: function(data) {
        alert('done');
    }
});

Comment puis-je accepter que, par le contrôleur? De préférence sans avoir à créer un objet personnalisé, je préfère juste être en mesure d'utiliser de simples types de données, cependant si j'ai besoin d'objets personnalisés pour simplifier les choses, je suis très bien avec ce trop.

Pour vous aider à démarrer:

@RequestMapping("/controllerMethod", method=RequestMethod.POST)
public String doSomething() {
    System.out.println( wantToSeeListOfPeople );
}

Ne vous inquiétez pas au sujet de la réponse à cette question, tout ce qui m'intéresse est le traitement de la demande, je sais comment traiter avec les réponses.

EDIT:

J'ai plus d'exemple de code, mais je ne peux pas le faire fonctionner, ce qui me manque ici?

sélectionnez javascript:

var person = new Object();
    person.name = "john smith";
    person.age = 27;

    var jsonPerson = JSON.stringify(person);

    $.ajax({
        url: "test/serialize",
        type : "POST",
        processData: false,
        contentType : 'application/json',
        data: jsonPerson,
        success: function(data) {
            alert('success with data : ' + data);
        },
        error : function(data) {
            alert('an error occurred : ' + data);
        }
    });

méthode de contrôleur:

public static class Person {

        public Person() {
        }

        public Person(String name, Integer age) {
            this.name = name;
            this.age = age;
        }
        String name;
        Integer age;

        public Integer getAge() {
            return age;
        }

        public void setAge(Integer age) {
            this.age = age;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    @RequestMapping(value = "/serialize")
        @ResponseBody
        public String doSerialize(@RequestBody Person body) {
            System.out.println("body : " + body);
            return body.toString();
        }

ce qui rend l'exception suivante:

org.springframework.web.HttpMediaTypeNotSupportedException:
Type de contenu application/json' pas
pris en charge

Si le doSerialize() prend une Chaîne de caractères, par opposition à une Personne, la demande est acceptée, mais la Chaîne est vide,

OriginalL'auteur walnutmon | 2010-08-25