这一周学会了Springmvc,现在开始尝试加入Ajax,方法如下:
首先要加入jackson jar包,没有的话可以下载我提供的springmvc+mybatis+ajax+taglib的jar包
然后在springmvc配置文件中加入:
<!-- 支持spring3.0新的mvc注解 --> <mvc:annotation-driven /> <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 以及 Ajax请求--> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="cacheSeconds" value="0" /> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean> </list> </property> </bean>其次就是ajax请求界面script的编写了
<script language="javascript" type="text/javascript"> function createXMLHttpRequest(){ if(window.XMLHttpRequest){//可以判断浏览器类型 xmlHttp = new XMLHttpRequest(); } else if(window.ActiveXObject){//如果浏览器支持ActiveX控件 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } function myajaxtest(){ createXMLHttpRequest(); var url = "myajax/myajax1?uname=测试&a="+Math.random(); if(xmlHttp){ xmlHttp.open("GET",url,true);//get方法提交 xmlHttp.setRequestHeader("accept","application/json"); //必带的表头 //指定回调函数为DBName_callback xmlHttp.onreadystatechange = callback; xmlHttp.send(null); } } //回调函数 function callback(){ if(xmlHttp.readyState ==4){ if(xmlHttp.status ==200){ var xmlDoc = xmlHttp.responseText;//取出回传参数 alert(xmlDoc); if(xmlDoc.replace(/^\s*|\s*$/g,'') == "<span style="font-family: Arial,Helvetica,sans-serif;">ce测试</span><span style="font-family: Arial,sans-serif;">")//去掉空格后才能判断</span> { alert("测试成功!"); } else{ alert("不能得到描述信息:" + xmlHttp.statusText); } } } } </script>用button调出
<button type="button" c onclick="myajaxtest();" style="width:100px;">Ajax</button>最后建立一个ajax的controller
package com.wy.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequestMapping("myajax") public class MyAjaxController { @RequestMapping(value="/myajax1",method=RequestMethod.GET)//设定只接收get方法 public @ResponseBody String myajax1(String uname,String a) throws Exception{ uname = new String(uname.getBytes("ISO-8859-1"),"UTF-8");//解决中文乱码 System.out.println(uname); System.out.println(a); System.out.println("进入Ajax"); return "ce测试"; } }好了,做到这就算成功啦!