Javascript 通过Servlet传递对象并在YUI中读取

Javascript 通过Servlet传递对象并在YUI中读取,javascript,servlets,yui,Javascript,Servlets,Yui,嗨,我正在尝试将一个对象从servlet传递到YUI javascript代码。下面是我愿意传递的对象的类声明: @XmlRootElement class Favourite implements Serializable { List<String> name = new ArrayList<String>(); List<String> host = new ArrayList<String>(); List<Integer> p

嗨,我正在尝试将一个对象从servlet传递到YUI javascript代码。下面是我愿意传递的对象的类声明:

@XmlRootElement
class Favourite implements Serializable {
List<String> name = new ArrayList<String>();
List<String> host = new ArrayList<String>();
List<Integer> port = new ArrayList<Integer>();
}

我不知道我该如何在YUI中阅读这个对象。请建议一种解决方法。

我非常怀疑您能否让YUI通过TestStream反序列化Java序列化

相反,我会使用。提供一种将您的
收藏夹
实例序列化为JSON字符串的方法,并将其作为响应发送(使用内容类型“application/JSON”)。您可以找到Java的多个JSON编码器(序列化器/stringifier)(包括上面的链接)。YUI提供


在web应用程序中,使用JSON或XML作为在线格式是目前最流行的在客户端和服务器之间发送数据(而不是标记)的方法。根据我的经验,JSON有点超过了XML,部分原因是它非常容易使用,但XML是第一位的(事实上,XML是“ajax”中的X-asynchronousJavascriptandXML)。

YUI将无法读取Java序列化对象(二进制数据,具有特定于Java的格式)。您应该使用可从JavaSCript读取的开放格式(如XML或JSON)来传输您的对象。

请帮助我,我对YUI是新手,对它知之甚少。如果我以XML或JSON格式传输对象,我将如何读取它。读取JSON和YUI。如果您正在执行AJAX并返回XML,XML DOM树将在假设您正在执行一个AJAX调用并返回一个JSON数组,您可以这样做(使用yui3)感谢您对我的帮助。如果我没有错的话,我认为可以将Java序列化对象传递给Jquery并对其进行反序列化,还可以建议我使用Jquery还是YUI。@aditya:无意冒犯,但我很肯定您错了。Jquery中肯定没有内置Java反序列化支持,而且我从来没有听说过f插件(默认)Java序列化过程产生的二进制数据不适合传输到客户端JavaScript,然后由客户端JavaScript反序列化。这可能是可能的,但不是远程标准做法。Re YUI vs.jQuery:完全取决于您(您还有十几种其他选择).jQuery在采用方面可能有优势,并且独立于任何一家大公司(尽管与Microsoft有联系)。感谢您的帮助,我能够创建一个JSON对象并用YUI解析它。@aditya:太好了,这可能是目前最好的方法。
response.setContentType("application/x-java-serialized-object");
OutputStream os = response.getOutputStream(); 
ObjectOutputStream out = new ObjectOutputStream(os);
Favourite data = new Favourite();
// some code to manipulate the "data" instance
out.writeObject(data);