我有一个Wicket应用程序。 在应用程序中,用户可以用多种形式填写几个字段。
我在底部有一个特殊的位置,用户可以获得反馈(使用FeedbackPanel)。 反馈包括成功和反馈。错误信息一样。
问题是我想为不同的消息设置不同的CSS样式。
我已经有了想要实现的CSS样式。 我可以在HTML表单中成功实现它们,但我对两个消息都有相同的CSS样式。
我希望根据消息的不同严重程度对相同的反馈组件使用不同的CSS样式,因此如果消息是“错误” - 我希望它具有特定的样式,如果它是“成功”我希望它有不同的风格。
如何根据消息的严重程度将FeedbackPanel指向特定的CSS样式?
答案 0 :(得分:5)
您可以创建一个继承FeedbackPanel并覆盖getCSSClass方法
的类public class CustomFeedbackPanel extends FeedbackPanel {
public CustomFeedbackPanel(String id) {
super(id);
}
public CustomFeedbackPanel(String id, IFeedbackMessageFilter filter) {
super(id, filter);
}
@Override
protected String getCSSClass(FeedbackMessage message) {
String css;
switch (message.getLevel()){
case FeedbackMessage.SUCCESS:
css = "alert success";
break;
case FeedbackMessage.INFO:
css = "alert info";
break;
case FeedbackMessage.ERROR:
css = "alert error";
break;
default:
css = "alert";
}
return css;
}
}