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>