конвертировать json в pojo, используя jquery / spring / jackson - PullRequest
1 голос
/ 29 февраля 2012
$.ajax({
  cache:false,
  type: 'POST',
  url: "${saveDTO}",
  data: mySubmitData, //a stringified json object, a form converted using toObject plugin
  contentType: "application/json",
  success:  function(data) {            
    savedDialog.html( JSON.stringify(data) + "<br><br>"+mySubmitData);
  }
});

и контроллер:

public @ResponseBody MyDTO saveDTO(@Valid final MyDTO myDTO,BindingResult result, Model model){
 System.out.println(myDTO.getMyField + "  " + myDTO.getSecondField;
 return new MyDTO();
}

Вывод, который я получаю в диалоговом окне, показывает это:

{"myField":null,"secondField":null} //new empty dto converted and returned spring

{"myField":"RU","secondField":"13-02-12"} //submitted data, a form converted to json

В то время как вывод моей системной консоли показывает, что оба поля равны нулю, json не ограничен !!! Зачем ? У самого DTO просто есть два приватных поля с соответствующими методами получения / установки

1 Ответ

0 голосов
/ 29 февраля 2012
//js
var mySubmitData ='{"myField":"myFieldValue", "secondField":"secondFieldValue"}';
//dto
public class MyDTO implements Serializable {

  private String myField;

  private String secondField;

  MyDTO() {} //important

  public void setMyField() { ...}

  public void setSecondField() { ... }
}
//web resource
    public @ResponseBody MyDTO saveDTO(@Valid final MyDTO myDTO,BindingResult result, Model model){
     System.out.println(myDTO.getMyField + "  " + myDTO.getSecondField;
      return  myDTO;
      //return new MyDTO(); //it's empy object if you don't have default values
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...