我在<div>文件中有一个My.html

<html><head>
<script type="text/javascript" language="javascript" src="
 path/biz.path.nocache.js"></script></head>
 <div id = "div_test"> </div>


现在,我编写了一个java类,该类使用test division获取Dom

private void AddWidget() throws Exception{
 _obj = new testWidget(this._session);
 _obj.setSize("100%", "100%");
 _obj.AddTestWidget();
 RootPanel rootpanel = getViewRootPanel(div_test); // returns the division id
 rootpanel.clear();
 rootpanel.add(_obj);
}


以下是TestWidget.java

public class TestWidget extends ContentContainer{
  HorizontalPanel _base = new HorizontalPanel();
  protected FlexTable _bill = new FlexTable();
  Label lblTitle;

  public TestWidget(Session s) {
    super(s);
    _base.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
    _base.setWidth("100%");
    initWidget(_base);
    this._session= s;
    _inheritwidget = new InheritWidget(session);
  }
  public Widget AddTestWidget() {
    System.out.println("In widget");
    lblTitle= new Label("Details");
    lblTitle.setStyleName(Resources.INSTANCE.cssElements().labelBig());
    lblTitle.getElement().getStyle().setPadding(3, Unit.PX);
    _inheritwidget .setWidget(1, 0, lblBillingTitle);
    _inheritwidget .setWidget(2, 0, billingWidget);
    _base.add(_billing);
return _base;
}
}


其中InheritWidget类是从ContentContainer扩展的。
我还检查控制台,它显示了我In Widget。这意味着代码流是正确的。
请告诉我该怎么做才能在AddTestWidget中加载HTML div的内容。

有什么我想念的地方吗?

最佳答案

什么是ContentContainer?我在GWT库中找不到它。您的TestWidget不会扩展GWT Widget类。因此,您不能将其用作窗口小部件。如果必须扩展ContentContainer以满足您的编码需求,则可以实现GWT isWidget接口,以使GWT知道它是一个小部件。

10-06 07:12
查看更多