1

折りたたみ可能なアイテムの 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>

問題は、これはいくつかの div タグの ID に依存する JavaScript を使用することです。一般化されたウィジェットでは、これをランダム化するか、コンストラクターで渡されたシードに依存する必要があります。

ウィジェットに表示されるテキストを設定するための優れた方法であるため、Java 部分から生成された文字列にアクセスできると便利です。

私の最初のアプローチは、次のようなものを使用することでした<ui:with type="com.a.b.c.IdGenerator" field="idGenerator"></ui:with>が、クラスを動的にインスタンス化するように見えるIdGeneratorため、Java 部分で文字列へのアクセスは取得されません。

Java部分からそれらにアクセスできるこれらの文字列を動的に生成するための素晴らしい方法はありますか?

4

1 に答える 1

1

注入さ@UiField IdGenerator idGeneratorれた によってインスタンスが作成されるようにするには、Java 側に が必要です (または作成できます)。<ui:with>@UiField(provided = true)

于 2012-10-18T13:38:09.013 に答える