使用元数据动态创建GWT屏幕?

时间:2010-04-02 01:08:38

标签: gwt extjs smartgwt gwt-ext

我有一个需要移植到GWT的AWT applet应用程序。 applet屏幕在元数据中描述,applet使用反射动态渲染每个屏幕。

我们在GWT / ExtGWT中也喜欢同样的东西。

我已经构建了这个ExtJS的工作版本,其中元数据以JSON的形式转换为ExtJS Screen配置。这种方法的缺点是控件与数据的“连线”需要用Javascript编写。

GWT是首选,因为它是所有Java代码,没有JS。在挖掘它时,可以使用GWT.create()使用GWT从元数据中渲染屏幕。

我遇到的问题是将动态创建的按钮挂钩到例如事件处理程序的连线需要在GWT中不支持的反射。

这个结论是否正确?如果有的话,有没有其他方法可以使用ExtGWT实现这种类型的动态UI?

1 个答案:

答案 0 :(得分:0)

对于我们没有声明性UI的extGWT,最简单的解决方案可能是在java中添加映射/配置处理程序,引用实例化类。处理程序,即:

Map<String, ActionListener> mapping = new HashMap<String, ActionListener>();
mapping.put("HandleClicked", new HandleClickedActionListener());

然后您可以尝试为元数据找到实现类。

对于纯GWT 2,您可以查看http://code.google.com/intl/de-DE/webtoolkit/doc/latest/DevGuideUiBinder.html#Simple_binding如何在那里完成。有可能创建一个类似的解决方案,为您提供注释方法,如你自己的extgwt解决方案,如gwt中的那个。