问题标签 [gwtp]

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 回答
69 浏览

gwt - 确定 GWTP 位置何时完全加载

我在我的应用程序中使用 GWT + GWTP。我有一些地方有嵌套的演示者。我想在加载一个地方后执行一些代码(在地方显示完成所有内容和服务器调用,以及所有嵌套的演示者之后)。调度 deferred 或 finally 命令不起作用,并在加载完成之前被调用。有没有什么方法可以检测到地方的展示是否完成?

0 投票
1 回答
429 浏览

gwt - PresenterWidget 的 TabContainer 的 GWTP 实现

我正在将 GWTP 用于应用程序。在这个应用程序中,我经常需要做一个PresenterWidget包含PresenterWidget每个选项卡中的选项卡的选项卡。

由于容器是一个PresenterWidget,我不能使用类TabContainerPresenter,所以我正在做自己的实现。

我在尝试管理PresenterWidget选项卡(等)中包含onReveal()onHide()生命周期时遇到了一些问题。

第一个问题:在这种特殊情况下,是否建议手动调用onReveal()onHide()

第二个问题:我试图在不调用这些方法的情况下管理生命周期。

这就是我所做的:当用户点击一个选项卡时,主演示者会调用setInSlot(index,presenterWidget)将相应PresenterWidget的选项卡放在右侧的选项卡中。

但是:当我点击一个选项卡时,onReveal()对应的是调用PresenterWidget(好!)然后onReset()调用全部PresenterWidget:为什么全部?我希望onReset()仅在PresenterWidget对应于活动选项卡的情况下调用它。

=>setInSlot()在这种情况下调用正确的方法吗?

0 投票
1 回答
101 浏览

events - GWTP(GWT-Platform)和远程事件

对于带有 RPC 的普通 GWT 应用程序,我使用 GWTEventService 进行远程事件侦听/触发,但我如何使用 GWT-Platform 做到这一点。是否有可能将事件从服务器触发到特定客户端?例如聊天应用程序。

谢谢

0 投票
2 回答
2396 浏览

gwt - 如何使 SuggestBox 在 GWTP(Gwt 平台)框架中可靠地对服务器数据库进行 RPC 调用?

我花了很多时间搜索此信息“如何使 SuggestBox 在 GWTP(Gwt 平台)框架中可靠地对服务器数据库进行 RPC 调用”,但找不到任何答案。

事实上,有一些答案,但它们是针对不使用 GWTP 的人的。例如,我找到了一个网站 ( http://jagadesh4java.blogspot.com.au/2009/03/hi-every-one-this-is-my-first-blog.html ) 指导编码 SuggestBox & RPC &它建议这些课程:

我试图跟进该网站,但出现错误:

上面的指南显然不适合使用 GWTP 的人。

我的任务是我有一本包含 200k 英语单词的字典,我想要一个建议框,当用户键入任何字符或单词时,它会查找 DB 并相应地提出建议。例如,当用户输入“c”时会提示“cat, car, cut, etc”,输入“car”时会提示“car service”、“carbon”等。

所以我想出了自己的解决方案,即使它有效,但我觉得我做的不对。我的解决方案非常简单,我只需将数据库中的数据下载下来并将它们添加到 MultiWordSuggestOracle 中。每当它在 DB 中找到一个单词列表时,它不会清除旧数据,而是继续将新列表添加到 MultiWordSuggestOracle 中。但是,我的程序不会在每次用户键入字符时不断调用 DB,但只有在wordInTheMultiWordSuggestOracleList.indexOf(suggestBox.getText(),0)>0. 但是,MultiWordSuggestOracle中没有办法循环每个字符串,所以我用来 List<String> accumulatedSuggestedWordsList=new ArrayList<String>()存储数据。请参阅前:

结果:它有效,但只有在我键入“Backspace”按钮时才会显示建议。例如,当我输入“汽车”一词时,没有弹出建议列表,当我点击退格按钮时,它只会弹出“汽车服务、汽车销售等”。

那么,您可以评估我的解决方案吗?我觉得我做得不对。如果我没有做正确的事情,你可以为 GWTP 框架提供一个 SuggestBox PRC 吗?



非常重要的注意事项:

如何构建可靠的 SuggestBox PRC 以防止对我们自己的服务器进行拒绝服务攻击?

如果许多人在建议框中快速输入过多的电话怎么办?

其实我只是发现一个错误: SQL Exception: Data source denied setup of connection, message from server: "Too many connections" --> 所以我的解决方案一定有问题

我知道为什么会出现“连接太多”错误。例如,当我在建议框中键入“大使”时,我看到我的服务器连续调用 Db 9 次。-1st call,它会搜索任何像'a%'这样的词 -2nd call,它会搜索像'am%'这样的任何词 -3nd call,它会搜索像'amb%'这样的任何词

第一个问题是它在 1 次创建了太多调用,第二次调用无效,因为第一次调用like 'a%'可能已经包含将在第二次调用的单词like 'am%',因此它复制了数据。问题是如何编码来避免这种无效性。

有人建议使用 RPCSuggestOracle.java ( https://code.google.com/p/google-web-toolkit-incubator/source/browse/trunk/src/com/google/gwt/widgetideas/client/RPCSuggestOracle.java?规格=svn1310&r=1310 )

如果你能提供一个使用 RPCSuggestOracle.java 的例子,那就太好了。我希望你的回答能帮助很多其他人。

0 投票
1 回答
436 浏览

gwt - GWTQuery Drag Drop - 在单元格树中的节点之间拖动

我正在使用出色的 GWTQuery 库向我的 GWT 单元小部件添加拖放支持。

我的应用程序的不同模块中有一个 CellTable 和一个 CellTree(我使用的是 GWTP,所以一切都是解耦的)。这些小部件都不允许相互了解,它们只是接受可拖动/可放置,检查底层数据类型,然后适当地处理它们。

我遇到的问题是我需要支持在我的单元格树节点之间拖动。IE:典型的功能,如果你直接拖动到树中的一个元素上,它会落入那个元素,但是如果你稍微低于或高于,你会得到一个视觉指示器(通常是一条水平线),向用户指示他们也可以在节点之间拖动当前项目。

问题就在这里,到目前为止,我还没有找到提供此功能的方法,因为 setOnDrag() 方法没有告诉我任何有关检测到的可放置对象的信息,并且 setOnOver 仅在第一次遇到可放置对象时触发一次。

据我所知,这让我只有两个选择:

1.) 在我的 CellTree 中添加额外的“不可见”节点,这些节点也是可放置的,位于我的其他节点之间。2.) 实现一些自定义事件处理程序,我在拖动开始之前将其附加到可拖动的助手,并在可拖动对象实际位于可放置对象上方时用于比较助手和可放置对象的位置。

选项 1 确实令人讨厌,因为它严重破坏了我的 CellTree 设计,并且可能对效率产生非常严重的影响。

选项 2 确实令人讨厌,因为它需要大量额外的代码和技巧才能使其正常工作。

所以我希望有一个我可能没有的选项 3,任何帮助将不胜感激。

干杯,

凯西

0 投票
2 回答
552 浏览

gwt - GWT Places/Activity 与 GWTP PlaceManager

我是 GWT 的新手,如果我应该使用 GWTP PlaceManager 或 GWT Places/Activity,我有点困惑。我阅读了 GWTP 和 PlaceManager ,它看起来很简单,并且使用的代码比看起来非常复杂的活动、地点和映射器更少(我现在不太了解它..)但我认为最好采用推荐的方式谷歌?!使用 GWTP 方式有主要缺点吗?当我决定稍后使用历史记录时,两者都使用是否有意义?我可以用 GWTP 做主播吗?

我的应用程序由一个带有主菜单和内容区域的标题组成。内容区由左区和右区组成。左侧区域是应该链接到右侧区域中的“地点”的 achnor。GWTP nestedPresenters 似乎是最好和最简单的方法。但是我可以用 GWTP 做到这一点吗?你会推荐使用谷歌的方式吗?

我希望你能帮我弄清楚一些事情。:) 谢谢!

0 投票
1 回答
315 浏览

maven - 下载 gwtp-carstore 步骤

我想试试 gwtp-carstore 的副本。

第 1 步:通过 GitHub 应用下载https://github.com/ArcBees/GWTP

第2步:在eclipse中选择import Maven Projects然后浏览到gwtp-carstore我然后得到错误

在 Eclipse 中找不到处理 maven-gae-plugin:0.9.6:unpack 的市场条目。有关详细信息,请参阅帮助。

我稍后选择解决 - 然后我收到错误

无法为 org.apache.maven.plugins:maven-checkstyle-plugin:2.7:checkstyle {execution: validate} 插件 org.apache.maven.plugins:maven-checkstyle-plugin:2.7 或其依赖项之一配置 mojo not besolved: Failure to find com.gwtplatform:gwtp-build-tools:jar:1.1-SNAPSHOT in http://repository.apache.org/snapshots被缓存在本地仓库中,直到更新间隔才会重新尝试解析apache.snapshots 已过期或强制更新

从我运行的命令行

mvn generate-sources,我收到错误 [错误] 无法在项目 gwtp-carstore 上执行目标 org.apache.maven.plugins:maven-checkstyle-plugin:2.7:checkstyle (validate):目标 org.apache 的执行验证。 maven.plugins:maven-checkstyle-plugin:2.7:checkstyle 失败:插件 org.apache.maven.plugins:maven-checkstyle-plugin:2.7 或其依赖项之一无法解析:找不到工件 com.gwtplatform:gwtp -build-tools:jar:1.1-SNAPSHOT 在 apache.snapshots ( http://repository.apache.org/snapshots) -> [Help 1] [ERROR] [ERROR] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。[错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。[ERROR] [ERROR] 有关错误和可能的解决方案的更多信息,请阅读以下文章: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

有什么建议么?

干杯

0 投票
1 回答
1310 浏览

gwt - How to make multiple AsyncCallback calls in a Loop in GWTP?

This question is very useful. There're some questions about calling multiple AsyncCallback but they didn't tell how to call them in a loop.

Here is my problem. I am doing a project using Gwt-platform. I got a presenter TestPresenter.java which has these codes:

The problem is that the program show the data but it showed in the wrong order. This is cos the next Async method started to run while the previous one has not finish yet.

Some suggested me to put the 2nd call inside onSuccess, but that is only for simple 2 sync calls. But in my case, I have to loop many unknown number of Async calls, then how can i do it?

0 投票
1 回答
454 浏览

url - 如何让 placeManager.revealPlace 在 GWTP 的新选项卡中打开请求?

在 GWTP 中,我们可以通过以下方式进入新的 url:

但是,上述这些代码会在当前选项卡中打开一个新的 url(例如:abc.com#myTok;param1=123)。我的问题是如何让 placeManager 在新标签页中打开新网址?

在互联网上可以找到其他解决方案,但我不确定它是否是好的解决方案。我们可以

我认为第二个解决方案并不优雅,因为我们必须自己手动将参数放入 url,而在第一个中,所有参数都包含在.with方法中。

那么如何让 placeManager.revealPlace 在 GWTP 的新选项卡中打开请求?

0 投票
1 回答
271 浏览

gwt - EventBus 可以在 GWTP 中调用分离的 Presenter(不是嵌套的 Presenter)吗?

好的,这是我的问题。我有 2 位演示者:FirstPresenter(例如:abc.com#first)和 SecondPresenter(例如:abc.com#second)。SecondPresenter 上有一个按钮,当用户单击该按钮时,FirstPresenter 将弹出一条消息。

所以,这就是我所做的,我使用eClipse创建了一个事件名称MyEvent,eclipse生成了一个类MyEvent.java

在 SecondPresenter 上,我得到:

在 FirstPresenter 上,我得到:

如果 FirstPresenter 是嵌入在 SecondPresenter 中的嵌套演示者,那么上面的代码可以正常工作。但是如果他们是 2 个独立的 Presenter,那么上面的代码就不起作用了。

为什么?我检查了谷歌文档,他们只是说 EventBus 可以调用 Presenter,他们没有说它必须是嵌套的 Presenter,所以我假设 EventBus 可以调用任何单独的 Presenter。

我改为private EventBuspublic EventBus但它没有帮助。

我错过了什么?

编辑:

我稍微改变了我的代码,它部分工作。我不确定我做对了,因为它仍然存在一些问题。

好的,在 FirstPresenter 我实现了 MyHandler & Override onMy 方法

当我单击 SecondPresenter 上的按钮(Webbrowser 的第二个选项卡上的页面)时,我看到第二个选项卡上弹出消息(即浏览器没有使第一个选项卡成为焦点),但是当我单击 FirstPresenter (第一个选项卡上的页面)我没有看到Label("test")

为什么它可以调用 Window.alert 但没有将 Label 添加到 FirstPresenter?

另外,如何让浏览器将焦点设置在 FirstPresenter 上(即显示第一个选项卡)?

我错过了什么吗?