一.json配置
1.在pom.xml文件中添加两个jar包的依赖,然后在pom.xml上右键/Maven/reimport导入jar包,不使用maven的自行下载添加jackson-core-2.5.2.jar和jackson-databind-2.5.2.jar
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.2</version>
</dependency>
2.在spring mvc配置文件mvc-dispatcher-servlet.xml(命名可能不同)中添加配置
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonHttpMessageConverter"/>
</list>
</property>
</bean>
<bean id="jsonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
二.ajax函数示例
function changeRoom() {
var domain = "http://localhost:8080";
var roomType = $("#roomType").val().trim();
var value = {"roomType": roomType};
$.ajax({
url: domain + "/changeRoom",
type: "post",
contentType: 'application/json;charset=utf-8',
data: JSON.stringify(value),
success: function () {
console.log("success!");
},
error: function () {
console.log("change room fail!");
}
});
}
三.controller处理ajax请求函数
@RequestMapping(value = "/changeRoom", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<Object> recharge(@RequestBody Map<String, String> data) {
Map<String,String> map=new HashMap<>();
String type=data.get("roomType").trim();
RoomEntity roomEntity=roomService.findByType(type);
if(roomEntity!=null)
{
map.put("price",Integer.toString(roomEntity.getPrice()));
map.put("image",roomEntity.getImage());
}
return new ResponseEntity<Object>(map, HttpStatus.OK);
}