如何在新的浏览器窗口中打开文件?

时间:2016-08-09 17:53:01

标签: java vaadin

我只是想在新的浏览器窗口中打开XML文件。我正在使用Vaadin / Java。 XML文件存在于此处:

C:\Users\USER\workspaceluna\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\EVOLtWeb\WEB-INF\xmlfiles\user.xml

这是我到目前为止所做的一切,它只是打开一个空白窗口:

this.details.setTargetName("_blank");
this.details = new ActiveLink("LINK", new ExternalResource(VaadinService.getCurrent().getBaseDirectory().getAbsolutePath() + "\\WEB-INF\\xmlfiles\\" + user + ".xml"));

2 个答案:

答案 0 :(得分:0)

你为什么使用" user"变量而不是"用户"串?看起来你需要的只是"用户"字符串。

你可以打印" VaadinService.getCurrent()。getBaseDirectory()。getAbsolutePath()"用println()?

答案 1 :(得分:0)

我能够使用 Vaadin的BrowserWindowOpener 来实现这一点。如果要在新的浏览器窗口中打开页面,则需要在setFeatures中定义高度和宽度。要在当前浏览器的新选项卡中打开,只需删除高度和宽度定义并添加setWindowName(“_ blank”):

    BrowserWindowOpener opener = new BrowserWindowOpener(UI.class);
//  opener.setFeatures("height=700,width=600, resizeable, scrollbars, location=0, status=0, toolbar=0"); //removing this line and setWindowName to _blank opens in new tab
    opener.setResource(new FileResource(new File(VaadinService.getCurrent().getBaseDirectory().getAbsolutePath() + "/WEB-INF/xmlfiles/" + user + ".xml")));
    opener.setWindowName("_blank");
    opener.extend(details);

https://vaadin.com/docs/-/part/framework/advanced/advanced-windows.html