GWT RequestFactory中的客户端参数

GWT RequestFactory中的客户端参数,gwt,parameters,requestfactory,Gwt,Parameters,Requestfactory,我正在使用GWT RequestFactory,希望在服务中传输客户端参数。 这些参数应该在客户机上创建,因为它们不是域模型的一部分,不会存储在数据库中。 不幸的是,我没有办法做到这一点,因为只有xxxProxy对象可以用作参数,并且只能在服务器上创建它们 我的具体例子是: 我想从服务器下载任务,并想发送一个筛选器对象,请求作为参数,指定要加载的任务对象 谢谢你的帮助 您可以使用RequestContext的create()方法在客户机上创建代理。在您的情况下,您的代理必须是ValueProxy

我正在使用GWT RequestFactory,希望在服务中传输客户端参数。 这些参数应该在客户机上创建,因为它们不是域模型的一部分,不会存储在数据库中。 不幸的是,我没有办法做到这一点,因为只有xxxProxy对象可以用作参数,并且只能在服务器上创建它们

我的具体例子是:

我想从服务器下载任务,并想发送一个筛选器对象,请求作为参数,指定要加载的任务对象


谢谢你的帮助

您可以使用
RequestContext
create()
方法在客户机上创建代理。在您的情况下,您的代理必须是
ValueProxy
,而不是
EntityProxy
。您不必“存储”值代理(与实体代理相反)

我确实有与您完全相同的用例,而且它工作得非常好

@Service(MyService.class)
接口MyRequestContext扩展了RequestContext{
请求findTasks(FilterProxy筛选器);
}
@ProxyFor(Filter.class)
接口FilterProxy扩展了ValueProxy{
//你的接球手和接球手在这里
}

MyRequestContext ctx=。。。;
FilterProxy过滤器=ctx.create(FilterProxy.class);
filter.setXxx(…);
//设置其他过滤器
ctx.findTasks(filter.fire)(新接收器(){
@凌驾
成功时公共无效(列出任务){
// ...
}
});

作为旁注,您写了“只有xxxProxy对象可以用作参数”,这是错误的;您可以很好地使用基本类型(
int
boolean
等)、它们的包装类型(
Integer
boolean
等)、
String
Date
列表
Set
这些类型(或代理类型)。

您可以使用
create()
请求上下文的方法。在您的情况下,您的代理必须是
ValueProxy
,而不是
EntityProxy
。您不必“存储”值代理(与实体代理相反)

我确实有与您完全相同的用例,而且它工作得非常好

@Service(MyService.class)
接口MyRequestContext扩展了RequestContext{
请求findTasks(FilterProxy筛选器);
}
@ProxyFor(Filter.class)
接口FilterProxy扩展了ValueProxy{
//你的接球手和接球手在这里
}

MyRequestContext ctx=。。。;
FilterProxy过滤器=ctx.create(FilterProxy.class);
filter.setXxx(…);
//设置其他过滤器
ctx.findTasks(filter.fire)(新接收器(){
@凌驾
成功时公共无效(列出任务){
// ...
}
});

作为旁注,您写了“只有xxxProxy对象可以用作参数”,这是错误的;您可以很好地使用基本类型(
int
boolean
等)、它们的包装类型(
Integer
boolean
等)、
String
Date
列表
Set
(或代理类型)。

Hi Stefan。如果托马斯的回答解决了你的问题,请把它标记为正确。反馈让stackoverflows的轮子转动。嗨,Stefan。如果托马斯的回答解决了你的问题,请把它标记为正确。反馈使stackoverflows的轮子转动。