如何在Wicket中将属性的属性值替换为多个值?

如何在Wicket中将属性的属性值替换为多个值?,wicket,Wicket,“我的类”属性有两个CSS类值。HTML开始时是这样的: <input type="button" wicket:id="rowButton" class="jelly-button greenGradient"/> 我想动态地将其更改为: <input type="button" wicket:id="rowButton" class="jelly-button redGradient"/> 目前我正在这样做: 添加(新的SimpleAttributeMod

“我的类”属性有两个CSS类值。HTML开始时是这样的:

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

我想动态地将其更改为:

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

目前我正在这样做:

添加(新的SimpleAttributeModifier(“类”,“果冻按钮红色渐变”)


在Wicket做这件事最好的方法是什么?必须有一种比我上面所做的更“正确”的方法来实现这一点。

与使用固定文本的属性修饰符不同,您可以使用从模型检索的文本的属性附加器。要更改类,只需更改模型的值。例如:

Model<String> gradientModel = new Model<String>("greenGradient");
在标记中,只有

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


下面javadoc中的示例很好地解释了这一点

您期望的行为到底是什么/方法调用应该是什么样子?顺便说一句,您应该使用
AttributeModifier.replace
,因为
SimpleAttributeModifier
在Wicket 1.5中已被弃用,并在Wicket 6.0中被删除。
<input type="button" wicket:id="rowButton" class="jelly-button"/>
gradientModel.setObject("redGradient");
gradientModel.setObject("greenGradient");