JavaScript2015. 1. 22. 18:15

data = {

title : "title",

subTitle : "subTitle",

metaTitle : "metaTitle",

ymnews005 : [{aaa:"aaa", bbb:"bbb"},{aaa:"aaa", bbb:"bbb"}]

};


위와 같은 데이터를 jQuery에서 Ajax통신으로 SpringMVC로 파라미터를 넘길 경우..물론 방식은 POST방식..


심각: Servlet.service() for servlet [rest] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'ymnews005[0][cardstatckArtclId]' of bean class [ymcms.cms.ka.model.ArtclMasterM1VO]: Property referenced in indexed property path 'ymnews005[0][cardstatckArtclId]' is neither an array nor a List nor a Map; returned value was [ID0000002]] with root cause

org.springframework.beans.InvalidPropertyException: Invalid property 'ymnews005[0][cardstatckArtclId]' of bean class [ymcms.cms.ka.model.ArtclMasterM1VO]: Property referenced in indexed property path 'ymnews005[0][cardstat........


뭔지는 모르겠지만..심각한 오류란다.

이는 jQuery에서 넘긴 데이터중 배열값이 제대로 전달 되지 않아서 생기는 문제이다.

SpringMVC에서 VO를 이용하여 파라미터로 받고 이를 자동으로 맵핑시키는 과정에서 생기는 문제.

jQuery에서 보내는 데이터 형식은 ymnews005[0][cardstatckArtclId]이것과 같은데 자바에서 원하는 형식은 ymnews005[0].cardstatckArtclId 이런 형식을 원하는 듯하다.


그럼 어떻게 해야할까..


JavaScript에서 데이터를 보낼때 원하는 형식으로 보내면 되는것..


ymnews005[0].cardstatckArtclId = "asdf";


이런식으로 데이터를 넣어서 보내면 문제는 해결..


참고 블로그는 http://www.bmchild.com/2014/02/spring-mvc-3-property-referenced-in.html

Posted by Z700zZz