2

私のクラス属性には2つのCSSクラス値があります。HTMLは次のように始まります。

<input type="button" wicket:id="rowButton" class="jelly-button greenGradient"/>

そして、私はそれを動的にこれに変更したいと思います:

<input type="button" wicket:id="rowButton" class="jelly-button redGradient"/>

現在私はこれを行っています:

component.add(new SimpleAttributeModifier( "class"、 "jelly-button redGradient"));

Wicketでこれを行うための最良の方法は何ですか?これを行うには、上記で行った方法よりも「適切な」方法が必要です。

4

2 に答える 2

8

固定テキストで属性修飾子を使用する代わりに、モデルから取得したテキストで属性アペンダーを使用できます。クラスを変更するには、モデルの値を変更するだけです。例えば:

Model<String> gradientModel = new Model<String>("greenGradient");

..。

component.add(AttributeModifier.append("class", gradientModel));

マークアップで

<input type="button" wicket:id="rowButton" class="jelly-button"/>

次に、グラデーションの使用を変更するときが来ました

gradientModel.setObject("redGradient");

また

gradientModel.setObject("greenGradient");
于 2012-09-11T19:22:07.380 に答える
0

以下のjavadocの例は、それをよく説明してい ますhttp://www.jarvana.com/jarvana/view/org/apache/wicket/wicket-core/1.5.2/wicket-core-1.5.2-javadoc.jar!/ org / apache / wicket / Behavior / AttributeAppender.html

于 2012-09-14T06:49:18.533 に答える