0

表示するページには多くのテキストが含まれているため、独自のテキストファイルで事前にフォーマットしたいので、次のようにします。

execute: onModuleLoad()
         - make an Async call to the server and load 
           the text files which are html-formatted

コードは次のようになります。

homeAsync.load(new AsyncCallback<String>() {
  public void onFailure(Throwable caught) {
    contentHome.add(new HTML("<h1>FAIL</h1>something went wrong"));
    caught.printStackTrace();
  }

  public void onSuccess(String result) {
    contentHome.getElement().setId("inner");
    contentHome.add(new HTML(result));
    //RootPanel.get("content").add(new HTML(result));
  }
});

さて、これらのテキストファイルの中にはいくつかのカスタマイズされたタグがあります。

<!graph>

これをいくつかのGWTウィジェットに置き換えたいと思います。私の問題は、どうすればそれを簡単に達成できるかわからないということです。

私は次のような回避策をとることができます:

- load text part 1 (async call)
- insert graph for part 1
- load text part 2 (asynca call)
- insert foobar
- and so on ..

これがうまくいくかどうかさえわかりませんが、正直に言うと..それは単に醜いです^^

私への提案はありますか?

4

3 に答える 3

0

次の方法も使用できます。

Label w = new Label();
w.getElement().setInnerHTML(html);
w.getElement().setInnerSafeHtml(safeHtml);
于 2013-03-18T19:35:44.650 に答える
0

part1と2 つを知ると、part2物事がより明確になります。

HTMLはい、すべてのコンテンツを にレンダリングできますwidget(ただし、安全な方法で、はいSafeHtmlについて話します)。

RPCまた、DB から文字列をフェッチするための 2 つの呼び出しを回避part1part2ますclient side

于 2013-03-16T09:10:03.687 に答える
0

HTMLPanelをテンプレートとして使用します。

例:

String html = "<div id='one' style='border:3px dotted blue;'></div>"
    + "<div id='two' style='border:3px dotted green;'></div>";
HTMLPanel panel = new HTMLPanel(html);
panel.setSize("200px", "120px");
panel.addStyleName("demo-panel");
panel.add(new Button("Do Nothing"), "one");
panel.add(new TextBox(), "two");
RootPanel.get("demo").add(panel);
于 2013-03-16T15:50:57.637 に答える