【问题标题】:Local htm file embedded in vaadin嵌入在 vaadin 中的本地 htm 文件
【发布时间】:2012-01-15 05:03:57
【问题描述】:

我是 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/ 替换字符串时,它可以工作,但不能与上面的代码一起使用。如何实现?

【问题讨论】:

    标签: html embed vaadin


    【解决方案1】:

    您可以根据具体情况在 Vaadin 中选择 5 种不同的资源:ExternalResource、ThemeResource、FileResource、ClassResource 和 StreamResource。 如果您希望文件与您的应用程序捆绑在一起,您可以:

    • 使用 ExternalResource(将您的资源称为 http://host:port/etc/etc),或

    • 使用 ThemeResource(通过其到 WebContent/VAADIN/themes/yourtheme 目录的相对路径来引用您的资源,您通常会在其中放置图标和样式)

    我会采用第二种方法,因为它可以让您免于查找上下文 url。

    阅读更多关于资源herehere

    【讨论】:

    • 成功了!!!谢谢。对于记录,我只将 Help.htm 文件放在主题目录中并将其作为 ThemeResource 加载。
    猜你喜欢
    • 2012-06-24
    • 2013-11-27
    • 2021-12-07
    • 2023-04-03
    • 2016-06-05
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 2022-06-24
    相关资源
    最近更新 更多