日期:2014-05-16 浏览次数:20780 次
spring 2.5 的mvc 大量的使用了注解,减少了xml文件的配置,使spring 使用起来更为简单,
在下面我以一个spring 2.5 mvc 注解的一个 ajax? 的实现。
?
雷武銮
?
首先来看一下action类的配置:
import com.web.comm.actions.BasicAction;
import com.web.module.user_manager.services.UserManagerService;
@Controller
@RequestMapping("/userManager.do")
public class UserManagerAction extends BasicAction {
@Autowired
private UserManagerService userManagerService;
@RequestMapping(params="method=addUser")
public void addUser(HttpServletResponse response,ModelMap modelMap){
JSONObject json=new JSONObject();
try{
json.put("username", "雷武銮");
json.put("age", 22);
this.outJsonString(response, json.toString());
}catch(Exception e){
e.printStackTrace();
}
}
}
?红色字的方法是本人写在主类当中用于后回用户请求的数据
主类也很简单,给方法传入一个response 然后用这个response 向客户端输入 ,这边用到了一个工具包:json-lib-2.2-jdk13.jar ??如下代码
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class BasicAction {
public void outJsonString(HttpServletResponse response,String json) {
response.setContentType("text/javascript;charset=UTF-8");
outString(response,json);
}
public void outJson(HttpServletResponse response,Object obj) {
outJsonString(response,JSONObject.fromObject(obj).toString());
}
public void outJsonArray(HttpServletResponse response,Object array) {
outJsonArray(response,JSONArray.fromObject(array).toString());
}
public void outString(HttpServletResponse response,String json) {
try {
PrintWriter out = response.getWriter();
out.write(json);
} catch (IOException e) {
e.printStackTrace();
}
}
public void outXMLString(HttpServletResponse response,String xmlStr) {
response.setContentType("application/xml;charset=UTF-8");
outString(response,xmlStr);
}
}
?
?
客服端请求:
<script type="text/javascript">
function testAjax(){
Ext.Ajax.request({
url:ctx+'/userManager.do?method=addUser',
success:function(response){
var user=Ext.util.JSON.decode(response.responseText);
alert('username:'+user.username+'\tage:'+user.age);
},failure:function(response){
alert('failure');
}
});
}
</script>
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?