问题标签 [requestfactory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1402 浏览

gwt - 如何在客户端编辑 gwt requestfactory 的 ValueProxy 的值?

我有 2 个模型:ContactGroup 和 Contact。ContactGroup 包含许多联系人。

在页面中,我必须显示通信组中的组列表和联系人数量,如下所示:

  • Foo 组(12 个联系人)
  • 群组栏(20 个联系人)

所以我在服务器端使用了 DTO ContactGroupInfo:

在此 ContactGroupInfo 中,我添加了contactCount 字段,该字段不是 ContactGroup entity 中的字段

在客户端,我使用了 ValueProxy:

因此,当服务器端向客户端返回 LightContactGroupProxy 列表时,我将该列表 a 存储在 ArrayList 中以呈现给 CellTable。

这里是我遇到的问题:当我需要在客户端编辑组的名称时,我无法直接编辑 LightContactGroupProxy 对象。

  • 所以我必须将新名称发送到服务器以返回具有新名称的新 LightContactGroupProxy。这无效,因为我必须再次计算联系人(虽然我知道联系人的数量不会改变)。
  • 或者我必须将联系人数量和新名称都发送到服务器,以使用新名称创建一个新的 LightContactGroupProxy。这不是我想要的,因为如果 LightContactGroupProxy 有很多其他字段,我必须发送很多字段。

我不知道 GWT 团队为什么要设计不可变代理。所以拜托,有人有requestfactory的经验,请告诉我处理从服务器返回的ValueProxy的正确方法,以便我们可以使用它们来渲染和编辑?

谢谢

0 投票
1 回答
1470 浏览

java - GWT RequestFactory 返回一个空对象

我正在尝试使用 GWTs RequestFactory 来(目前)做一些非常简单的事情并返回一个对象列表,每个对象都包含一些数据和另一个对象。我似乎无法得到我的另一个对象——相反,我总是得到空值。

我的代码看起来像这样......

我有一些 UserMessage 对象,每个对象都包含一个 Message 对象。

用户消息

信息

每个都有自己的代理类

用户消息代理

消息代理

}

我有一个工厂和一个上下文

}

当我在客户端调用 getMessagesForUser(...) 时,我的服务器端服务代码被调用,数据库中的条目被检索,并且我得到一个返回给客户端的 UserMessageProxy 列表。不幸的是,在其中任何一个上调用 getMessage() 都会返回 null,我不知道为什么。

我没有收到任何错误或警告。在服务器端,当 RequestFactory 代码调用我的服务类时,我可以“看到” UserMessage 确实包含 Message 对象。

为什么我的对象为空?有没有我不满足的条件?

GWT 2.4 BTW(但在 2.3 中也有问题)

0 投票
2 回答
3654 浏览

java - 保存图形时 GWT Autobean 冻结

我将 GWT 2.4 与编辑器和请求工厂框架一起使用。我有一个模型,Trip,它有一个地址“来源”和一个地址“目的地”。通过 UI 创建行程时,会自动创建两个地址并分配给行程。用户填写详细信息并保存。出于某种原因,我在尝试坚持到服务器时收到“autobean freeze 错误”。此代码在 GWT 2.3 中有效,我无法切换回来。我希望它不是 GWT 2.4 中的错误。这是我正在做的一些示例代码:

结果是:

调用fire成功完成,但在 requestfactory 中的某处,会引发上述错误。奇怪的是,实体保存在服务器上,但不强制执行验证。当我简化模型并删除地址关联时,验证和保存工作。我的主要问题是 autobean freeze 错误;验证的东西是次要的。

编辑:在进一步调查中,我发现实体可以正常访问服务器并按预期持续存在。它在返回时抛出上述异常。AddressProxy 是一个 ValueProxy,看起来 RF 不喜欢 Trip 带着这些关联回来。返回 null '修复'问题,但这显然不会长期工作。

0 投票
1 回答
1041 浏览

hibernate - GWT RequestFactory Hibernate 在定位器中不必要的调用查找方法

使用 RequestFactory 我获取数据以查看,然后在其他事务中其他人将此对象更新到版本 1(我的视图仍然是版本 0)。接下来我更新一些值并将 RequestFactory 的更改推送到 DAO 层。问题是当更改的对象被传输到服务层时:定位器调用 find 方法并获取最新版本的对象(由其他人更改)。因此,当我们在 DAO 层中更新方法时,对象将与 version1 合并,并从两个事务中更改!在这种情况下,正常情况下 Hibernate 应该抛出异常,因为对象应该有其他版本值(乐观锁)?

定位器:

道:

当我模拟这种情况而不在 RequestFactory 中调用 find 时,一切正常。当其他事务更改我的对象时引发异常。但是如何在 RequestFactory 中获得这种行为呢?除了在每次更新 RequestFactory 调用 find 方法之前,执行对 DB 的选择。接下来转到 DAO 层和休眠调用完全相同的选择查询,因为他检查对象版本。因此,对于每个更新的对象,一次选择是不必要的重复!!!

0 投票
1 回答
938 浏览

java - Guice注入和RequestFactory:扩展ServiceLayerDecorator

我搜索了一种将 Guice 依赖注入与RequestFactory. 我偶然发现了这个:https ://github.com/etiennep

它对我不起作用,所以我将 InjectedServiceLayerDecorator.java 实现更改为:

https://github.com/opncow/injected-requestfactory/blob/master/src/main/java/com/trycatchsoft/gwt/requestfactory/InjectedServiceLayerDecorator.java

现在我的问题是:

RequestFactory关于(它还在工作吗?)的缓存机制可以做得更好吗?getTop()getNext()(在 ServiceLayerDecorator 中)是干什么用的?getTop()在这个地方使用是否正确/安全?

抱歉想得太复杂了!这很简单:

0 投票
1 回答
173 浏览

data-binding - 将实体代理绑定到 UI 组件的好方法是什么?

我目前正在做一个 GWT 项目。问题是,我很难相信我需要一遍又一遍地重复一些样板来将数据从 EntityProxy(比如 getSomeData() 方法)绑定到 UI 组件(比如 TextBox)。

你们是如何克服这个问题的?现在我必须创建一个从 TextBox 读取并将其设置为 EntityProxy 的方法,以及一个在从 EntityProxy 读取后写入 TextBox 的方法。

基本上,它总是一样的!IE:

你明白我的意思吗?我知道客户端没有反射。我可以使用延迟绑定,但我不确定它如何或是否是使用 RequestFactory 的 EntityProxys 的好方法。

谢谢

0 投票
1 回答
3118 浏览

java - 简单的 GWT RequestFactory 崩溃

使用此http://code.google.com/webtoolkit/doc/latest/DevGuideRequestFactory.html教程来了解基本概念,但在从 Eclipse 运行我的应用程序时遇到问题:

这是失败的代码:

我知道我的问题很抽象,请使用评论询问所需的详细信息。

0 投票
2 回答
1717 浏览

gwt - 拦截 GWT RequestFactory 请求

有没有办法在客户端拦截 RequestFactory 请求?

我想拦截这样的电话:

这个想法是在与服务器通信时显示一些加载指示。

0 投票
2 回答
1943 浏览

session - GWT RequestFactory 中的会话处理

有人可以给我看一个关于使用 GWT RequestFactory 进行会话处理的简单示例吗?也许它很简单,但我无法弄清楚。

我在某处读到我应该使用 ThreadLocal。嗯,我做到了。这是我的代码:

这可以保存会话:

登录之后还可以,但是再请求一次之后,会话是空的。

那么我错过了什么?还是有更好的方法?

0 投票
1 回答
1102 浏览

java - GWT、Maven 和 AspectJ:AOPed 代码的 RequestFactory 验证?

要使用 GWT 2.4.0 RequestFactory,您必须运行请求工厂验证工具。否则,它只是行不通。[Google 说][1],只需向 pom.xml 添加 2 个插件就足够了:

问题是,我有一个相当复杂的使用 AOP 的服务器端代码,所以当验证工具对该代码运行时,它会失败,因为“没有方法 xxx()”,“xxx 类没有实现接口 yyy”,等等

所以,我的问题是,是否可以在 pom.xml 级别解决此问题,而不是将所有 AOP 代码移动到单独编译的单独项目中?