1

我有一个 Wicket 应用程序。在应用程序中,用户可以在多个表格中填写多个字段。

我在用户获得反馈的底部有一个特殊的地方(使用反馈面板)。反馈包括成功和错误消息等。

问题是我想为不同的消息使用不同的 CSS 样式。

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

我想根据消息的不同严重性在相同的反馈组件上使用不同的 CSS 样式,所以如果消息是“错误”-我希望它具有特定的样式,如果它是“成功”我希望它有不同的风格。

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

4

1 回答 1

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;
    }
}
于 2013-04-21T11:50:57.353 回答