2016-12-16 97 views
1

我有一個嵌套的對象一個問題:與excepionJava的彈簧4嵌套對象InvalidPropertyException

  1. 每次崩潰在我的名單與數字格式例外
  2. 在我的對象與 org.springframework .beans.InvalidPropertyException

你能幫我嗎錯誤在哪裏?爲什麼帖子正文沒有被正確解釋?

這裏是AngularJS

var form = { text1: $scope.text1, 
       text2: $scope.text2}; 

var d ={ one: "textone", 
      two: "texttwo", 
     myObject: form, 
    myListString: ["one", "two"] }; 

var toPost = $.param(d); 
$http({ 
     method:'post', 
      url:'http://localhost:8080/TestSpringPrj/test', 
      data:toPost, 
     headers: {'Content-Type': 'application/x-www-form-urlencoded'}, 
     dataType:"json" 
       }) 

我的Java類:

public class MyClassTest{ 
    private String one; 
    private String two; 
    private MyObjForm myObject; 
    private List<String> myListStrin 

    public MyClassTest() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 
    ///////GETTERS & SETTERS 
} 

我的控制器

@Controller 
public class RicercaAvanzataT { 
    @RequestMapping(value="/test") 
    public ModelAndView processSubmit(@ModelAttribute MyClassTesttest) { 
     ModelAndView mv = new ModelAndView("response"); 
     System.out.println("Test was fine"); 
     return mv; 
    } 
} 
+2

因爲您正在使用'@ ModelAttribute',而您應該使用'@ RequestBody'。 –

+0

完成,但現在我收到415錯誤(不支持的媒體類型) – Lucas

+0

您的js說這是表單編碼,但你張貼JSON。所以你想要什麼。你想做一個常規的表單提交(通過AJAX),或者你想發送JSON到服務器... –

回答

0

您需要使用@RequestBody,在此穿過整個身體的json請求轉換器,然後到控制器方法。而@ModelAttribute只是從HttpServletRequest填充模型

@RequestMapping(value="/test") 
    public ModelAndView processSubmit(@RequestBody MyClassTesttest) { 
     ModelAndView mv = new ModelAndView("response"); 
     System.out.println("Test was fine"); 
     return mv; 
    } 
+0

完成,但現在我收到415(不支持的介質類型) – Lucas