UiBinder中的动态字符串(不适用于i18n)

时间:2012-10-18 11:49:10

标签: gwt uibinder

我正在尝试制作一个Widget,从twitter推广可折叠项目的引导样式。

我必须让它工作硬编码,但我发现一些困难抽象它。

小部件看起来像:

<div class="accordion" id="accordion1">
  <div class="accordion-group">
    <div class="accordion-heading">
      <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion1" href="#collapseOne">
        ... text to show collapsed ...
      </a>
    </div>
    <div id="collapseOne" class="accordion-body collapse">
      <div class="accordion-inner">
        ... anything to show expanded ...
      </div>
    </div>
  </div>
</div>

问题是,这使用的javascript取决于某些div标签的ID。广义小部件需要随机化或取决于构造函数中传递的一些种子。

从Java部分访问那些生成的字符串也是很好的,因为这将是设置窗口小部件中显示的文本的一种奇特方式。

我的第一种方法是使用<ui:with type="com.a.b.c.IdGenerator" field="idGenerator"></ui:with>这样的东西,但它似乎动态地实现了类IdGenerator,因此在Java部分中无法访问字符串。

是否有任何奇特的方法可以从Java部分创建可以访问它们的字符串?

1 个答案:

答案 0 :(得分:1)

您只需要在Java端使用@UiField IdGenerator idGenerator来注入<ui:with>中创建的实例(或者您可以@UiField(provided = true))。