日期:2014-05-16 浏览次数:20722 次
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>
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?