如何在wicket中更改颜色后刷新标签

1sbrub3j  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(296)

我用的是wicket 1.5
当我改变颜色时,只有在使用f5刷新之后,页面上的颜色才会真正改变。如何在后台刷新?
我使用以下行来更改颜色:datedescription.add(attributemodifier.replace(“style”,”color:red;")); 添加(日期描述);
更新#1现在我使用ajax,但仍然需要刷新页面以更改颜色。你能告诉我我做错了什么吗?

// in page class
    public class FilterUpdateBehavior extends AjaxFormComponentUpdatingBehavior {
        public FilterUpdateBehavior(String event) {
            super(event);
        }

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            RefreshResult result = getResult(target);
            if (result.getStatus() == RefreshResultStatus.DATE_NOT_SET) {
                dateIntervalFilterPanel.setAlarmDateStatus(true);
            } else {
                dateIntervalFilterPanel.setAlarmDateStatus(false);
            }
        }
    }

    // in date panel class
    dateDescription.add(new AttributeModifier("style", new AbstractReadOnlyModel<String>() {
                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    String cssClass = null;
                    if (isAlarmDateStatus()) {
                        cssClass = "color:red;";
                    } else {
                        cssClass = "color:black;";
                    }
                    return cssClass;
                }
            }));
    add(dateDescription);

更新#2

public RefreshResult getResults(AjaxRequestTarget target) {
        // ... somewhere here additional logic of getting particulate RefreshResult
        target.add(table);
        target.add(paging);
        target.add(loadingPanel);
        return new RefreshResult(resultType);
    }

update#3final(它帮助了我)我在更改isalarmdatestatus时错过了这一行代码,现在它可以正常工作了。多亏了安德里亚!

target.add(dateDescription);
w3nuxt5m

w3nuxt5m1#

您的代码行看起来不错,但是您必须使用ajax来反映您的更改,而不必重新加载整个页面。不幸的是,wicket 1.5已经过时了,网上很少有资源提供ajax支持的例子。您可以在这里查看旧的1.5 ajax示例代码:
https://github.com/apache/wicket/tree/build/wicket-1.5.17/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin

相关问题