WIcket的FeedbackPanel上的不同CSS

时间:2013-04-21 09:05:10

标签: wicket feedbackpanel

我有一个Wicket应用程序。 在应用程序中,用户可以用多种形式填写几个字段。

我在底部有一个特殊的位置,用户可以获得反馈(使用FeedbackPanel)。 反馈包括成功和反馈。错误信息一样。

问题是我想为不同的消息设置不同的CSS样式。

我已经有了想要实现的CSS样式。 我可以在HTML表单中成功实现它们,但我对两个消息都有相同的CSS样式。

我希望根据消息的不同严重程度对相同的反馈组件使用不同的CSS样式,因此如果消息是“错误” - 我希望它具有特定的样式,如果它是“成功”我希望它有不同的风格。

如何根据消息的严重程度将FeedbackPanel指向特定的CSS样式?

1 个答案:

答案 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;
    }
}