比如用户对电影发表了评论,只刷新评论那快的页面。这要如何实现?页面用什么分块?实现局部刷新?评论都是放在一个List对象中的。还有就是javascript如何接收处理一个List对象。。学校的教材只处理了boolean 或者String 一些简单类型请各位前辈指教

解决方案 »

  1.   

    用ajax实现就行了,dwr也行,但要配置,相对麻烦些.
      

  2.   

    能不能说的具体点呢ajax我只会一些简单类型的数据操作
    如果有现成列子的前辈麻烦把这段代码贴出我看下
    。谢谢老
      

  3.   


    var net=new Object();
    net.AjaxRequest=function(url,onload,onerror,method,params){
      this.req=null;
      this.onload=onload;
      this.onerror=(onerror) ? onerror : this.defaultError;
      this.loadDate(url,method,params);
    }net.AjaxRequest.prototype.loadDate=function(url,method,params){
      if (!method){
        method="GET";
      }
      if (window.XMLHttpRequest){
        this.req=new XMLHttpRequest();
      } else if (window.ActiveXObject){
        this.req=new ActiveXObject("Microsoft.XMLHTTP");
      }
      if (this.req){
        try{
          var loader=this;
          this.req.onreadystatechange=function(){
            net.AjaxRequest.onReadyState.call(loader);
          }
          this.req.open(method,url,true);
          //this.req.send(params);
      this.req.send(null);
        }catch (err){
          this.onerror.call(this);
        }
      }
    }
    net.AjaxRequest.onReadyState=function(){
      var req=this.req;
      var ready=req.readyState;
      if (ready==4){
        if (req.status==200 ){
          this.onload.call(this);
        }else{
          this.onerror.call(this);
        }
      }
    }
    net.AjaxRequest.prototype.defaultError=function(){
      alert("error fetching data!"
        +"\n\nreadyState:"+this.req.readyState
        +"\nstatus: "+this.req.status
        +"\nheaders: "+this.req.getAllResponseHeaders());
    }
      

  4.   


    /**************************错误处理函数***************************/
    function onerror(){
    alert("您的操作有误!");
    window.location.href="index.jsp";
    }
    /***************************返回结果显示函数****************************/
    //添加或修改商品信息时应用
    function deal_type(){
    subType.innerHTML=this.req.responseText;
    }
    //修改购物数量时应用
    function deal_cart(){
    totalSum.innerHTML=this.req.responseText;
    }
      

  5.   


    DWR配置可以传对象
    估计LZ用的是普通AJAX可以组装String l = "a,b,c";
    //a[0]=a,a[1]=b
    var a =l.split(',')如果是传自定义的 eg:LIST.add(Object)恐怕不行只能用框架了DWR可以实现 eg:list[i].name;