报错 RootWindow does not have any configured work area

请教个问题,是这样,我登录后是一个 自定义的页面。
页面上有一个 A按钮跳转到有原本有左侧菜单的呢个页面 ,现在想点击 A按钮 开启一个浏览器的新窗口 打开 左侧菜单的呢个页面 报错提示
.withOpenMode(OpenMode.NEW_WINDOW)报错! 但是 .withOpenMode(OpenMode.ROOT) 正常
总提示我页面没有 “work area”这个工作区 但 左侧菜单页面是有这个标签的。

1 个赞

在测试项目中使用 OpenMode.NEW_WINDOW 为什么打开还是一个新的 tab页。。。不是应该用新的浏览器窗口 打开么

WindowManager.OpenType.NEW_WINDOW 是给desktop设计的,但是desktop在cuba7里面已经不支持了。https://forum.cuba-platform.com/t/redirect-to-a-link-in-a-new-window-automatically/6785

你要新开一个浏览器窗口还是新开一个浏览器的tab也行?
如果是浏览器的tab,可以参照cuba主界面上默认的那个新开一个tab的按钮的逻辑。
cuba\modules\web\src\com\haulmont\cuba\web\gui\components\mainwindow\WebNewWindowButton.java 中。

    public WebNewWindowButton() {
        component = new CubaButton();
        component.addStyleName(NEW_WINDOW_BUTTON_STYLENAME);
        component.setDescription(null);

        URL pageUrl;
        try {
            pageUrl = new URL(ControllerUtils.getLocationWithoutParams());
        } catch (MalformedURLException ignored) {
            LoggerFactory.getLogger(WebNewWindowButton.class).warn("Couldn't get URL of current Page");
            return;
        }

        ExternalResource currentPage = new ExternalResource(pageUrl);
        final BrowserWindowOpener opener = new BrowserWindowOpener(currentPage);
        opener.setWindowName("_blank");

        opener.extend(component);
    }

非常感谢!