1 .使用HttpServletResponse来处理——不需要配置解析器
@RequestMapping("/ajax")
public void ajax(String name,HttpServletResponse resp) throws IOException{
if("siggy".equals(name)){
resp.getWriter().print("true");
}
else{
resp.getWriter().print("false");
}
}
//头文件省略
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
</head>
<script type="text/javascript">
/* $(document).ready(function() 类似*/
$(function(){
/* blur意思就是不聚焦的时候触发,val()返回textName的内容,如果val()有参数就是给textName赋值,
val() 方法返回或设置被选元素的值 */
$("#textName").blur(function(){
$.post("ajax.do",{'name':$("#textName").val()},function(data){
alert(data);
})
}
)
});
</script>
<body>
用户名 <input type="text" id="textName"><br>
</body>
</html>
2 . Spring MVC处理json数据
(1) 导入相关jar包(下载jackson jar包)
(2) 配置json转换器,不用记,用的时候拷贝,暂时没在文档内找到
<!--用于将对象转化为json -->
<!-- @ResponseBody之后返回字符串中中文可能会出现乱码,
因为sping mvc默认是text/plain;charset=ISO-8859-1,所以要在mvc.xml配置charset -->
<bean id="stringConverter"
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<bean id="jsonConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringConverter"/>
<ref bean="jsonConverter"></ref>
</list>
</property>
</bean>
(3) Controller类
@RequestMapping("/json")
@ResponseBody
// @ResponseBody 将内容或对象作为 HTTP 响应正文返回,使用@ResponseBody将会跳过视图处理部分,
// 而是调用合适HttpMessageConverter,将返回值写入输出流。
// @ResponseBody之后返回字符串中中文可能会出现乱码,
// 因为sping mvc默认是text/plain;charset=ISO-8859-1,所以要在mvc.xml配置charset
public List<User> json(){
List<User> list=new ArrayList<User>();
list.add(new User(1,"张三","男"));
list.add(new User(2,"李四","男"));
list.add(new User(3,"王五","女"));
return list;
}
public class User {
private int id;
private String name;
private String sex;
public User() {
super();
}
public User(int id, String name, String sex) {
super();
this.id = id;
this.name = name;
this.sex = sex;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
(4)页面
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
</head>
<script type="text/javascript">
/* $(document).ready(function() 类似*/
$(function(){
/* blur意思就是不聚焦的时候触发,val()返回textName的内容,如果val()有参数就是给textName赋值,
val() 方法返回或设置被选元素的值 */
$("#btn").click(function(){
$.post("json.do",function(data){
var html="";
for(var i=0;i<data.length;i++){
html+="<tr><td>"+data[i].id+"</td><td>"+data[i].name+"</td><td>"+data[i].sex+"</td><tr>";
}
$("#context").html(html);
})
}
)
});
</script>
<body>
<input type="button" id="btn" value="获取数据"><br>
<table width="80%" align="center">
<tr>
<td>编码</td>
<td>姓名</td>
<td>性别</td>
</tr>
<tbody id="context"></tbody>
</table>
</body>
</html>