我的class属性有两个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中执行此操作的最佳方式是什么?必须有一种比我上面所做的更“恰当”的方式。
答案 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");
答案 1 :(得分:0)