spring的配置文件中要有
<bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="ignoreAcceptHeader" value="true" />
<property name="defaultContentType" value="text/html" />
<property name="mediaTypes">
<map>
<entry key="json" value="application/json" />
</map>
</property>
<property name="favorParameter" value="false" />
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" />
</list>
</property>
<property name="defaultViews">
<list>
<bean
class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
</list>
</property>
</bean>
同时要引入 jackson-all-1.8.2这个包,否则启动会报初始话bean错误。
配置文件的意思是,将请求类型为application/json的json数据交给ContentNegotiatingViewResolver这个bean处理,处理完成后交给我们的vo。提交的json中,不能有vo中没有的属性。否则会报错。
最重要的是:当页面提交时,注意要将请求的头部,即ajax的contentType :设为'application/json;charset=UTF-8'
页面字段封装成json的方法。使用:form2object.js,jquery.toObject.js,json2.js三个js,然后调用JSON.stringify($("#form_sub").toObject(), null, '\t');,即可,会将页面的字段封装成json。