【问题标题】:Vaadin 7 Refresher addon doesn't workVaadin 7 Refresher 插件不起作用
【发布时间】:2014-06-03 14:44:23
【问题描述】:

我正在从 Vaadin 6 迁移到 Vaadin 7。
在将 Vaadin 6 的 Refresher 更改为 Vaadin 7 的 Refresher 后,似乎我应该将 addComponent(refresher) 更改为 addExtension(refresher)。但不幸的是,当我这样做时,我收到了一个空页面而不是我的组件。有人可以帮忙吗?我不完全明白我应该做什么..

【问题讨论】:

  • 只是为了检查,您是否也将更新插件更新到新版本,即 1.2.1.7?
  • 我当然更新了
  • 它是否也会在服务器日志上引发异常?通常空白页应该意味着出现错误。
  • 不,它不会抛出异常,并且没有刷新它可以正常工作,但当然没有刷新。在我的组件上添加 addExtension(refresher) 后出现空白页面
  • 它对我有用。您是否编译了新的小部件集?检查浏览器调试控制台中的输出。另外,尝试将其添加到不同的组件中,例如布局。

标签: java vaadin


【解决方案1】:

这是我使用的示例代码:

public class RefresherDemo extends UI  {
    Refresher refresher;
    Label timeLabel;    

    protected void init(VaadinRequest request) {
        final VerticalLayout layout = new VerticalLayout();
        layout.setMargin(true);
        setContent(layout);

        timeLabel = new Label(getTime());

        refresher = new Refresher();
        refresher.setRefreshInterval(500);
        refresher.addListener(new RefreshListener(){
            @Override
            public void refresh(Refresher source) {
                timeLabel.setValue(getTime());
            }
        });
        addExtension(refresher);        

        layout.addComponent(timeLabel);

    }

    public String getTime(){
        DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
        Date date = new Date();
        String d = dateFormat.format(date);
        return d;
    }

}

【讨论】:

  • 谢谢,但我正在尝试不在 UI 中添加刷新器,而是在位于应用程序 UI 中的自定义组件中添加刷新器
【解决方案2】:

我遇到了同样的问题,我找到了解决方法。我不知道自定义小部件集。有必要像这样添加对 web.xml 的引用:

<init-param>
    <param-name>widgetset</param-name>
    <param-value>com.mypackage.AppWidgetSet</param-value>
</init-param>

希望能帮助别人

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 2014-05-06
    相关资源
    最近更新 更多