我是vaadin的新手,我设法以某种方式启动并运行应用程序。现在我有一个help.htm html文件,其中包含有关如何使用该应用程序的提示。我已将help.htm放在我的项目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);
我已尝试在我的网络浏览器中调试,复制和过去str变量的内容我可以访问该文件,浏览器正确显示它。我也尝试过FileResource& ClassResource。此外,当我用http://www.somewebpage.com/替换字符串时,它可以工作,但不能使用上面的代码。如何实现?
答案 0 :(得分:7)
根据具体情况,您可以在Vaadin中选择5种不同的资源:ExternalResource,ThemeResource,FileResource,ClassResource和StreamResource。 如果您希望将文件与应用程序捆绑在一起,您可以:
使用ExternalResource(将您的资源称为 http :// host:port / etc / etc)或
使用ThemeResource(通过其通往WebContent / VAADIN / themes / yourtheme目录的相对路径引用您的资源,通常放置图标和样式)
我会采用第二种方法,因为它可以让你找不到上下文网址。