目前我是在用EXT功能表单,需要再页面上获取后台JSON传来的数据,可能会用到AJAX的数据。但是好像在JSP中使用AJAX需要加入什么框架是吧,谁能给个解释啊???

解决方案 »

  1.   

    啥都不用加,response输出就可以了
      

  2.   

    Alax可以引框架,也可以不引而直接写,AJAX框架有jquery.js,prototype.js等,这些框架目的只是简化代码或加一些其他功能,引入时写在javascript里 src=jquery.js 
      

  3.   

    AJAX 是前台的异步请求和后台没关系 
    就是一段JS 具体你在网上找个例子看看就行了
    先别用框架 自己试试
      

  4.   

    呵呵,楼主前台页面用的是Ext表单,Ext本身就带ajax功能,你可以看一下ext的这个类Ext.Ajax:
    // 基本的发送请求
    Ext.Ajax.request({
       url: 'foo.php',
       success: someFn,
       failure: otherFn,
       headers: {
           'my-header': 'foo'
       },
       params: { foo: 'bar' }
    });// 简易的表单异步发送
    Ext.Ajax.request({
        form: 'some-form',
        params: 'foo=bar'
    });// 给每一个异步请求设置默认的数据报头
    Ext.Ajax.defaultHeaders = {
        'Powered-By': 'Ext'
    };// 给每一个异步请求绑定全局的事件句柄 !Ext.Ajax.on('beforerequest', this.showSpinner, this);
      

  5.   

    如果用 servlet 就直接拼json字符串吧,使用struts2 可以用json插件比较好,
      

  6.   

    自己写也行,现在基本所有的 js 框架,如 jquery,extjs等都内置了ajax支持。这个简单点。也可以使用 Dwr,这个反而没有js框架方便。
      

  7.   

    下载个jquery 的.js文件,然后引入到你的页面
    然后写个js函数:
    $.ajax({
      type: "POST",
      url: url,
      data:{'id':'ids'},
      success: function(d){
       return;
      }
    });
    data:传参数
    url:访问路径
    dataType:返回数据类型如:dataType:'json'
    d:返回的数据
      

  8.   

    直接手写不要用什么框架,容易冲突,比如DWR 和JQUERY 一起使用就会有。
    再说AJAX就那段代码又不难,做过1次接下来就是拷贝 粘贴了。
      

  9.   

    http://www.webjx.com/special/20090215/9625.html
      

  10.   

    用dwr,百度百科里有详细说明!很好用的
      

  11.   

    ajax 客户端和服务器java没什么联系,仅仅是交互而已
      

  12.   

    支持6楼的说法,这得看楼主具体想采用什么ajax框架,如果是自己开发的话,可以到晚上下载一个关于ajax的,如果是应用jquery或者dwr等框架的话只要到网上下载相应的js文件,然后导入就可以了
      

  13.   

    可以引用jquery框架 写ajax操作
      

  14.   

    浏览器支持xmlhttprequest就行了 什么都不用加
      

  15.   

    Ajax只是一个js的  不用导啥包的    不过你用一些Ajax框架就需要
      

  16.   

    不是必须引入什么东西,
    但引入ajax的包用起来比较方便
      

  17.   

    如果你没有用java UI框架,那劝你还是用Dwr,如果只为了实现一个异步请求就导入js框架,那就太不值了
      

  18.   

    用jquery,我博客有写这个:http://blog.csdn.net/the_fire/archive/2011/01/22/6158003.aspx
      

  19.   

    框架是可以使用引用的,楼上很多位都说过了使用JQuery就行。等你成了高手了,自己写框架就行了。
      

  20.   


    虽然是好心,不过我觉得这是成熟程序员的做法,初级程序员,会用就行,估计他最想看到的是能用的现成代码http://blog.csdn.net/the_fire/archive/2011/01/22/6158003.aspx
      

  21.   

    我用的就是 jquery + json 实现异步交互。
    前台就不要说了,jquery的ajax应用语法+json格式数据例如:{name:"aa",pwd:"aa"} json格式数据要你去专研,否则你组织不好待提交数据,后台解析不到。后台解析jquery传递过来的json格式数据需要 java代码解析,这时,你需要下载第三方类库 
    json-lib-2.3-jdk15.jar在后台解析时:public ActionForward insertPlan(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    request.setCharacterEncoding("UTF-8");
    List detailList = null;// 接收强制转换后jsonArray的数据
    JSONObject JOProMain = null;// 接收json对象中方案对象
    JSONArray JADetailList = null;// 接收json对象的定时项对象数组
    UwkTmMain WktmMainItem = null;// 接收强制转换后的方案对象
    String line = null;
    JSONObject JOString = null;
    Object objMainFromJSONString = null;
    Object objListFromJSONString = null;
    int result = 0;
    try {
    // 创建读取字符流对象BufferReader
    BufferedReader br = new BufferedReader(new InputStreamReader(
    (ServletInputStream) request.getInputStream()));
    StringBuilder sb = new StringBuilder();
    // 将字符流保存到内存中StringBuilder
    while ((line = br.readLine()) != null) {
    sb.append(line);
    }
    String JsonString = sb.toString();
    System.out.println(JsonString);
    JsonString = URLDecoder.decode(JsonString, "UTF-8");// 因为json无法传输中文,于是采用js变换字符编码格式java解析该格式,解码为utf-8
    JOString = JSONObject.fromObject(JsonString);// 根据json字符串创建json对象
    objMainFromJSONString = JOString.get("proMain");// 从json对象中分离对象,注意并不一定是自己预计的类型
    objListFromJSONString = JOString.get("detailList");// object类型
    if (objMainFromJSONString != null) {
    JOProMain = (JSONObject) objMainFromJSONString;
    WktmMainItem = (UwkTmMain) JSONObject.toBean(JOProMain,
    UwkTmMain.class);
    }
    if (objListFromJSONString != null) {
    JADetailList = (JSONArray) objListFromJSONString;
    detailList = new ArrayList();
    for (int i = 0; i < JADetailList.size(); i++) {
    UwkTmDetail detail = new UwkTmDetail();
    JSONObject jsonItem = JADetailList.getJSONObject(i);
    UwkTmDetailId detailItem = (UwkTmDetailId) JSONObject
    .toBean(jsonItem, UwkTmDetailId.class);
    detail.setId(detailItem);
    detailList.add(detail);
    }
    result = wktmService.addTmrMainAndDetail(WktmMainItem,
    detailList);
    }
    } catch (JSONException e) {
    e.printStackTrace();
    }
    if (result > 0) {
    this.printText(response, "yes");
    } else {
    this.printText(response, "no");
    }
    return null;
    }要用到的JSON类库:import net.sf.json.JSONArray;
    import net.sf.json.JSONException;
    import net.sf.json.JSONObject;
    然后就是组织数据返回到客户端:public ActionForward wktmMainList(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws IOException {
    List wktmMainList = this.wktmService.findAllWkTmMainList();
    String switchftmr = this.wktmService.findTmrFromSysParam();
    Map m = new HashMap();
    m.put("wktmMainList", wktmMainList);
    m.put("switchftmr", switchftmr);
    this.printJson(response, m);
    return null;
    }// 封装输出json
    protected void printJson(HttpServletResponse response, Object m)
    throws IOException {
    response.setContentType("application/x-json; charset=UTF-8");
    PrintWriter out = response.getWriter();
    JSONObject jo = JSONObject.fromObject(m);// 转化Map对象
    out.print(jo);
    out.flush();
    }
      

  22.   

    什么都不需要,用DWR框架、JQuery等可以简化书写。