Apache Wicket:在同一应用程序的独立页面之间进行通信

时间:2013-12-11 11:14:22

标签: wicket wicket-1.6

在我的wicket页面上,我有一个链接,可以在另一个标签/新窗口中打开第二页。

<a href="/MySecondPage" target="_blank">Click here for second window</a>

这些窗口旨在并行使用(例如,在双监视器环境中)。但我不想在两个屏幕上分散不同的菜单条目,因此我希望所有菜单条目都保留在MyFirstPage,即使它们只会影响MySecondPage

我的最终目标是点击MyFirstPage上的菜单条目,以便在Component上显示新的MySecondPage。这甚至可能吗?如何在MySecondPage内获取MyFirstPage的java引用或建立其他类型的通信? 我在研究时发现的所有内容仅适用于模态窗口或Wicket 1.4,但MySecondPage不是模态的。

2 个答案:

答案 0 :(得分:3)

也许wicket的事件总线是一个选项,请参阅:http://code.google.com/p/wicket-guide/downloads/list - 章 15.3 Wicket事件基础设施

您可以在MyFirstPage中发送该活动,通过SessionApplication接收该活动并将其发送至MySecondPageSessionApplication实施IEventSinkhttp://ci.apache.org/projects/wicket/apidocs/6.x/org/apache/wicket/event/IEventSink.html

答案 1 :(得分:0)

Wicket 6中有WebSocket支持: http://wicketinaction.com/2012/07/wicket-6-native-websockets/

基本上,您需要将WebSocketBehavior添加到页面中,以使其可用于来自服务器的消息。

另一方面,您可以通过Wicket.WebSocket.send("A message sent by the client");

向服务器发送消息

我从来没有厌倦过,但听起来很有希望。