Html 嵌入在vaadin中的本地htm文件

Html 嵌入在vaadin中的本地htm文件,html,embed,vaadin,Html,Embed,Vaadin,我是vaadin的新手,我设法启动并运行了一个应用程序。现在我有一个help.htm html文件,其中包含有关如何使用该应用程序的提示。我已经将help.htm放在我的project WEB目录中,以便能够在vaadin上下文中访问它。我尝试通过以下方式访问它: String str = "file:/" + "/" + application.getContext().getBaseDirectory() + "/help.htm"; URL url = new URL(str); Embe

我是vaadin的新手,我设法启动并运行了一个应用程序。现在我有一个help.htm html文件,其中包含有关如何使用该应用程序的提示。我已经将help.htm放在我的project WEB目录中,以便能够在vaadin上下文中访问它。我尝试通过以下方式访问它:

String str = "file:/" + "/" + application.getContext().getBaseDirectory() + "/help.htm";
URL url = new URL(str);
Embedded browser = new Embedded("Help", new ExternalResource(url));
browser.setType(Embedded.TYPE_BROWSER);                   
tabsheet.addComponent(browser);

我尝试过调试、复制并通过web浏览器中str变量的内容,我可以访问该文件,并且浏览器可以正确显示该文件。我也尝试过FileResource和ClassResource。同样,当我用它替换字符串时,它可以工作,但不能与上面的代码一起工作。如何实现这一点?

在Vaadin中,您可以根据具体情况选择5种不同的资源:外部资源、媒体资源、文件资源、类资源和流资源。 如果要将文件与应用程序捆绑在一起,可以:

  • 使用外部资源(将您的资源称为http://主机:端口/etc/etc),或

  • 使用主题资源(通过WebContent/VAADIN/themes/yourtheme目录的相对路径引用资源,通常在该目录中放置图标和样式)

我会选择第二种方法,因为它使您不必查找上下文url


阅读更多有关资源和服务的信息。

它成功了!!!谢谢。对于记录,我只将Help.htm文件放在主题目录中,并将其作为主题资源加载。