springMVC接受前台传值

今天,用ajax向springMVC的控制器传参数,是一个json对象。({"test":"test","test1":"test1""test2":"test2"})开始的想法是用一个对象来接收这个json对象。但是又不知道具体用什么对象,开始用了一个Object,名字和json对象属性名相同,但是得不到

@RequestMapping("/test")
 public void test(HttpServletResponse response,Ojbect data);

 

后来想想json是不是以String对象传进来又换成了String

@RequestMapping("/test")

 public void test(HttpServletResponse response,String data);

这样还是没有得到前台的json对象,后来见data换成了其中的一个属性的键名

@RequestMapping("/test")

 public void test(HttpServletResponse response,String test);

这样就得到了test键对应的值了。

后来感觉突然恍然大悟了,springMVC会将json对象中的一个个键值对传进来,好像不是讲json对象传进来,这样就需要将json对象的所有键值对写在方法的参数中。

这是一种方法,但是确实很繁琐,难道就不能有一个对象,springMVC将json对象注入到这个对象中吗?

后来找到了,可以定义一个数据类JSONData,类中的属性名字要和json对象中所有键值对的键名相同,并且需要有get,set方法(就是一个数据bean)

@RequestMapping("/test")

 public void test(HttpServletResponse response,JSONData test);

这样就可以用test对象来访问其中的属性,springMVC会将属性值注入到test对象中的属性中。

posted on 2014-05-08 19:19  狂野的小怪兽  阅读(1425)  评论(0编辑  收藏  举报