2011-08-08 50 views
1

场景:我的应用程序使用uibinder。我有一个分隔板:GWT:应用程序菜单和动态内容创建

  • 在屏幕左侧有几个超链接(历史支持)的菜单;

  • 结合到这样的事件historychanged中央SimplePanel:

    字符串historyToken = event.getValue(); content.setWidget(new Label(historyToken));

  • 不是很有用吗?现在我想用动态创建的小部件填充我的中心面板。

  • 我知道在客户端反射是不可能的。

  • 那么,如何根据历史记号决定创建/添加到我的内容面板的哪个类,并避免糟糕的if/else if/else if/...代码块?

  • 我在考虑以更优雅的“开关”方式使用常量,但它基本上是相同的解决方案。

回答

0

好的,解决方案是使用DeferredBinding并为“工厂”类编写代码生成器。

0

在GWT的客户端有反射的第三方支持。看看GWT Reflection

+0

不,谢谢,我现在不想要第三方的东西.​​.....没有一个完整的标准解决方案吗?什么延迟绑定? –

+0

恐怕延迟绑定不是你在这种情况下寻找的。如果你不熟悉它,请阅读它解释... http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsDeferred.html – Xorty

+0

那么呢? http://stackoverflow.com/questions/3034881/how-to-create-new-instance-from-class-name-in-gwt –