【问题标题】:RequestFactory doesn't populate all fields of my entity proxyRequestFactory 没有填充我的实体代理的所有字段
【发布时间】:2012-02-27 11:18:46
【问题描述】:

您能否告诉我如何让 RequestFactory 填充我的实体代理的字段,这些字段也是实体代理?

这里是父代理

@ProxyFor(value = Organization.class, locator = PojoLocator.class)
public interface OrganizationProxy extends EntityProxy
{
    public String getName();
    public void setName(String name);
    public String getAddress();
    public void setAddress(String address);
    public PersonProxy getContactPerson();
    public void setContactPerson(PersonProxy contactPerson);
}

如您所见,它包含另一个代理作为字段。这是 PersonProxy 的样子

@ProxyFor(value = Person.class, locator = PojoLocator.class)
public interface PersonProxy extends EntityProxy
{
    public String getName();
    public void setName(String name);
    public String getPhoneNumber();
    public void setPhoneNumber(String phoneNumber);
    public String getEmail();
    public void setEmail(String email);
    public OrganizationProxy getOrganization();
    public void setOrganization(OrganizationProxy organization);
}

在我的RequestContext 接口中,我有方法Request<OrganizationProxy> findOrganizationById(long id)。从数据存储中获取真实组织的 DAO 类设置了它的 contactPerson 字段,但在客户端中它始终是 null。事实上 RequestFactory 甚至从不调用 Organization.getContactPerson()。

我的客户电话看起来像这样

createFactory().contextOrder().findOrganizationById(1).fire(new Receiver<OrganizationProxy>()
{
    @Override
    public void onSuccess(OrganizationProxy response)
    {
        if (response == null)
        {
            organizationProxy = orderRequestContext.create(OrganizationProxy.class);
            organizationProxy.setContactPerson(orderRequestContext.create(PersonProxy.class));
        } else
            organizationProxy = orderRequestContext.edit(response);

        // Copy the data in the object into the UI
        driver.edit(organizationProxy);
    }

    @Override
    public void onFailure(ServerFailure error)
    {
        createConfirmationDialogBox(error.getMessage()).center();
    }
});

我在这里缺少什么?我要手动在某个地方做点什么吗? RequestFactory 不应该填充整个图吗?

【问题讨论】:

    标签: java gwt requestfactory gwt2


    【解决方案1】:

    抱歉,我找到了答案。我应该有 RTFM。

    查询服务器时,RequestFactory 不会自动 在对象图中填充关系。为此,请使用 with() 请求上的方法并将相关的属性名称指定为字符串

    【讨论】:

      猜你喜欢
      • 2018-01-25
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 2018-10-13
      • 2019-02-27
      • 2013-07-21
      相关资源
      最近更新 更多