gpt4 book ai didi

java - 无法从 BlazeDS 绑定(bind) RemoteObject

转载 作者:行者123 更新时间:2023-12-01 14:02:53 25 4
gpt4 key购买 nike

我在 Tomcat7 和 Flex 中使用 BlazeDS。我正在尝试在客户端和服务器之间使用自定义类。如:

package
{
[Bindable]
[RemoteClass(alias="remoting.Product")]
public class Product
{
public var name:String;
public var id:int;
public var isVisible:Boolean;
}
}

在 Java 中:

package remoting;
public class Product {

public String name;
public int id;
public Boolean isVisible;

public Product(){
name = "Product 0.1";
id = 123;
isVisible = false;
}
public void setName(String _name){
name = _name;
}
public void setId(int _id){
id = _id;
}
public void setVisible(Boolean _isVisible){
isVisible = _isVisible;
}
}

服务部分:

public Product echo() {
Product product = new Product();
product.setId(123);
product.setName("My Product");
product.setVisible(true);
return product;
}

我可以成功设置 RemoteObject 的目标并调用 echo() 方法。结果事件被触发,Product 对象位于 event.result 中。但是,它不包含任何敏感数据。 AS 类中的变量仅使用 null、0 和 true 值进行初始化。我想知道出了什么问题。我尝试从 Product 返回一个带有参数的字符串,它工作正常,所以它们设置得很好。问题出在映射上。

我可以采取另一种方式并实现Externalized,但我不明白示例中的这一部分:

 name = (String)in.readObject();
properties = (Map)in.readObject();
price = in.readFloat();

如果有多个字符串怎么办?

干杯。

最佳答案

在java类中:使用私有(private)字段并实现getter。

package remoting;
public class Product {

private String name;
private int id;
private Boolean isVisible;

public Product() {
name = "Product 0.1";
id = 123;
isVisible = false;
}
public void setName(String _name){
name = _name;
}
public String getName(){
return name;
}
public void setId(int _id){
id = _id;
}
public int getId(){
return id;
}
public void setIsVisible(Boolean _isVisible){
isVisible = _isVisible;
}
public Boolean getIsVisible() {
return isVisible;
}
}

关于java - 无法从 BlazeDS 绑定(bind) RemoteObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19204743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com