在action中 用request.setAttribute("st", msgDAO.findAll());把
所有记录都放到st 中, javascript中怎么接收一个类,把里面的对象列出来 
在页面怎么用function Pview(st) {
alert(st);  //在这里把所有记录弹出来
};

解决方案 »

  1.   

    +1下面是通用的Object转换成json的JS代码 
    //用法 
    //var   obj=new   Object(); 
    //obj.Name= 'Nams '; 
    //obj.Sex=1; 
    //JSON.serialize(obj);//will   get:   {Name: 'Nams ',Sex:1} if(typeof   StringBuilder== 'undefined '){ 
            StringBuilder=function(initialText) 
            { 
              var   _parts   =   new   Array();                 
                      if   ((typeof(initialText)   ==   'string ') 
                        &&(initialText.length   !=   0)) 
                        _parts.push(initialText); 
                  
                    this.append   =   function(text)   { 
                    if   ((text   ==   null)   ||   (typeof(text)   ==   'undefined '))   { 
                                    return; 
                            } 
                            if   ((typeof(text)   ==   'string ')   &&   (text.length   ==   0))   { 
                                    return; 
                            }                         
                            _parts.push(text); 
                    } 
                    this.appendLine   =   function(text)   { 
                            this.append(text); 
                            _parts.push( '\r\n '); 
                    } 
                    this.clear   =   function()   { 
                            _parts.clear(); 
                    } 
                      this.isEmpty   =   function()   { 
                            return   (_parts.length   ==   0); 
                      } 
                    this.toString   =   function(delimiter)   { 
                            return   _parts.join(delimiter   ||   ' '); 
                      } 
            } 

    JSON   =   new   function()   {         function   serializeWithBuilder(object,   stringBuilder)   { 
                    var   i; 
                    
                    switch   (typeof   object)   { 
                    case   'object ': 
                            if   (object)   { 
                                            if   (object.join)   {//if   is   array,   you   can   using   another   method   implement 
                                            stringBuilder.append( '[ '); 
                                            for   (i   =   0;   i   <   object.length;   ++i)   { 
                                                    if   (i   >   0)   { 
                                                            stringBuilder.append( ', '); 
                                                    } 
                                                    stringBuilder.append(serializeWithBuilder(object[i],   stringBuilder)); 
                                            } 
                                            stringBuilder.append( '] '); 
                                      }   
                                            else   { 
                                                    if   (typeof   object.serialize   ==   'function ')   { 
                                                    stringBuilder.append(object.serialize()); 
                                                    break; 
                                            }                                 
                                            stringBuilder.append( '{ '); 
                                            var   needComma   =   false; 
                                            for   (var   name   in   object)   { 
                                                  if   (name.startsWith( '$ '))   { 
                                                            continue; 
                                                    } 
                                                    var   value   =   object[name]; 
                                                    if   (typeof   value   !=   'undefined '   &&   typeof   value   !=   'function ')   { 
                                                            if   (needComma)   
          stringBuilder.append( ', ');                                                         
                                                            else   
          needComma   =   true; 
                                                                                      
                                                            stringBuilder.append(serializeWithBuilder(name,   stringBuilder)); 
                                                            stringBuilder.append( ': '); 
                                                            stringBuilder.append(serializeWithBuilder(value,   stringBuilder)); 
                                                    } 
                                            } 
                                            stringBuilder.append( '} '); 
                                    } 
                            } 
                            else   { 
                                    stringBuilder.append( 'null '); 
                            } 
                            break; 
                            
                    case   'number ': 
                            if   (isFinite(object))   { 
                                    stringBuilder.append(String(object)); 
                            } 
                            else   { 
                                    stringBuilder.append( 'null '); 
                            } 
                            break; 
                            
                    case   'string ': 
                            stringBuilder.append( ' " '); 
                            var   length   =   object.length; 
                            for   (i   =   0;   i   <   length;   ++i)   { 
                                    var   curChar   =   object.charAt(i); 
                                    if   (curChar   > =   '   ')   { 
                                          if   (curChar   ==   '\\ '   ||   curChar   ==   ' " ')   { 
                                                stringBuilder.append( '\\ '); 
                                            } 
                                            stringBuilder.append(curChar); 
                                    } 
                                    else   { 
                                          switch   (curChar)   { 
                                                    case   '\b ': 
                                                            stringBuilder.append( '\\b '); 
                                                            break; 
                                                    case   '\f ': 
                                                            stringBuilder.append( '\\f '); 
                                                            break; 
                                                    case   '\n ': 
                                                            stringBuilder.append( '\\n '); 
                                                            break; 
                                                    case   '\r ': 
                                                            stringBuilder.append( '\\r '); 
                                                            break; 
                                                    case   '\t ': 
                                                            stringBuilder.append( '\\t '); 
                                                            break; 
                                                    default: 
                                                            stringBuilder.append( '\\u00 '); 
                                                            stringBuilder.append(curChar.charCodeAt().toString(16)); 
                                            } 
                                    } 
                            } 
                            stringBuilder.append( ' " '); 
                            break; 
      
                    case   'boolean ': 
                            stringBuilder.append(object.toString()); 
                            break; 
      
                    default: 
                            stringBuilder.append( 'null '); 
                            break; 
                    } 
            }         this.serialize   =   function(object)   {   
                    var   stringBuilder   =   new   StringBuilder(); 
                    serializeWithBuilder(object,   stringBuilder); 
                    return   stringBuilder.toString(); 
            }         this.deserialize   =   function(data)   { 
                    return   eval( '( '   +   data   +   ') '); 
            } 
    }  本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lee576/archive/2008/04/06/2255091.aspx
      

  2.   

    如果不用JSON或JSONP。那么直接做字符串处理。然后JS里 eval(str);处理应该也是可以的。
      

  3.   

    楼主的问题5#已经完全解答了详细部分!但是楼主说的类说得不够明确!定义上JAVASCRIPT里根本没有类的概念!只能模仿而已。这点你却忽略了。你说具体某个对象也许还更明确一些!
      

  4.   

    实际上你只能传数据,而且还只能是字串数据,无论用哪种形式组织,包括JSON也是。
      

  5.   

    处理json数据推荐json2.js,比较标准var JsonString = JSON.stringify(jsonObject);
    var JsonObject = JSON.parse(JsonString);