日期:2014-05-16  浏览次数:20705 次

spring 2.5 mvc 注解 ajax 实现

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>

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?