我在一个项目中使用树脂。到目前为止,除了一个小问题之外还好吗?
我创建了一个泛型方法,它将任何Object作为唯一参数,但是当我调用该方法时,它会查找方法名称,但使用不同的参数类型,当然还有传递的对象类型。
我不确定Resin或任何其他Application Server是否可以实际执行此操作,或者我是否在此处制作了一个错误?
我正在使用Objective-j / Cappuccino开发前端,我正在通过CP2JavaWS映射远程Java方法。
基本上在Objective-J中我声明了这样的东西:
-(CPString) updateQuote:(id)modifiedQuote
{}
我不需要实现它,只需声明它。
然后在我的WebApp中,我声明并实现了这样的方法:
public String updateQuote(Object modifiedQuote)
{
// implementation
}
然后在前端我调用这样的方法:
[DBManagerRemoteService updateQuote:aObject delegateRespHandler:@selector(success:) delegateFailHandler:@selector(failed:)];
问题是aObject是CYQuote类的一个实例,所以当我调用远程方法时,它似乎没有找updateObject(java.lang.Object)
而是寻找未声明或实现的updateObject(com.myApp.services.CYQuote)
。当然,我可以为每个类实现一个方法,但我的目标是创建一个通用的更新方法。
答案 0 :(得分:0)
我必须回答自己并为我的废话问题造成的任何不便表示歉意。该问题与Resin或任何Web应用程序服务器无关。 CP2JavaWS基于传递的对象创建Http请求,因此我修改它以接受一些额外的参数。