3

CellListGWTは、 :のセルを構築する例として以下を提供します。

  /**
   * A simple data type that represents a contact.
   */
  private static class Contact {
    private static int nextId = 0;

    private final int id;
    private String name;

    public Contact(String name) {
      nextId++;
      this.id = nextId;
      this.name = name;
    }
  }

  /**
   * A custom {@link Cell} used to render a {@link Contact}.
   */
  private static class ContactCell extends AbstractCell<Contact> {
    @Override
    public void render(Context context, Contact value, SafeHtmlBuilder sb) {
      if (value != null) {
        sb.appendEscaped(value.name);
      }
    }
  }

複雑なセルがある場合、から安全なHTML文字列を返すだけでrender()は面倒になります。これにUiBinderを使用する方法、またはHTML文字列を手動で作成するよりも優れた方法はありますか?

4

1 に答える 1

5

GWT 2.5は、UiRendererまさにその目的のために追加します。テンプレートを活用してレンダラー*.ui.xmlを構築し、テンプレート変数を使用して、レンダラー時にサブ要素のハンドルを取得する機能などを追加します。

GWT 2.5が保留中の場合は、を使用して、テンプレートSafeHtmlTemplatesを個別のメソッドに分割し、それらを合成してセルのコンテンツを作成できます。

于 2012-05-12T19:22:18.397 に答える