2012-09-11 81 views
2

我的類屬性有兩個CSS類的值。該HTML開始時是這樣的:如何使用Wicket中的多個值替換屬性的屬性值?

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

我要動態地將其改成這樣:

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

目前,我這樣做:

component.add(新SimpleAttributeModifier( 「class」,「jelly-button redGradient」));

在Wicket中這樣做的最好方法是什麼?必須有一個比我上面所做的更合適的方法來做到這一點。

+3

到底是什麼,你所期望的行爲/應該如何調用該方法是什麼樣子?順便說一句,你應該使用'AttributeModifier.replace'作爲'SimpleAttributeModifier'在Wicket 1.5中已被棄用,並在Wicket 6.0中被刪除。 –

回答

7

您可以使用屬性appender和從模型中檢索的文本,而不是使用固定文本的屬性修飾符。要更改類,只需更改模型的值。例如:

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");