Spring MVC, l'absence de correspondance des éditeurs ou stratégie de conversion trouvé

J'essaie d'envoyer un code javascript personnalisé de l'objet (en fait, sa panoplie d'objets JSON) via jquery requête post au printemps contrôleur.
Le côté serveur échoue avec "bla-bla pas de correspondance éditeurs ou stratégie de conversion trouvé d'erreur". Il ne peut pas convertir de la chaîne d'objet côté serveur.
J'ai trouvé cette et cette des exemples, mais je ne peux pas les mettre ensemble pour faire le travail.
Les méthodes de PropertyEditor dois-je remplacer?
Quelqu'un connait un lien pour un exemple?
Merci.

Contrôleur:

private class AddressFormEditor extends PropertyEditorSupport {
    protected Object convertElement(Object element)
    {
        String form = "";

        if (element instanceof String)
                form = (String) element;
        Logger logger = Logger.getLogger(getClass().getName());
        logger.warning(form);
        return form != null ? new AddressForm(form) : null;
    }
}

@InitBinder
protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception
{       
      binder.registerCustomEditor(AddressForm.class, new AddressFormEditor());
}  
@RequestMapping(value = "/save", method = RequestMethod.POST)
    public ModelAndView saveUser(@ModelAttribute UserForm form, HttpServletResponse response) {...}

UserForm:

public class UserForm extends BaseForm {
private Long id;
private String login;
private String password;
private String confirmPassword;
private String type;
private String franchise;
private String roles;
private String firstName;
private String lastName;
private String salutation;
private String position;
private String birthDate;
private String passportNumber;
private String passportIssueBy;
private String passportIssueDate;
private String passportExpireDate;
private String nationality;
private AddressForm[] addresses;
private String notes; ... }

jQuery demande:

var data = $('#userForm').serializeObject();
        data.addresses = addresses;
        $.ajax({
            traditional: true,
            type: 'POST',
            url: url + 'save',
            data: data,
            success: function(response) {
                if (response) {
                    initializeUser(response);
                    hideWait();
                }
                else {
                    showUsers();
                    $('#closeUserBtn').click();
                }
            },
            error: function() {
                error();
                hideWait();
            }
        });

Enregistreur écrit que des adresses est " [object object]", mais en fait le tableau valide a été envoyé au serveur

  • peut-être montrer un peu de code aidera
  • Le problème est que je ne peux pas trouver un exemple de Chaîne de Serveur-côté de l'objet de la propriété de l'éditeur
InformationsquelleAutor nKognito | 2011-06-24