【问题标题】:How to include a plain html website in a vaadin application如何在 vaadin 应用程序中包含纯 html 网站
【发布时间】:2015-12-18 03:04:12
【问题描述】:

我需要在我的 vaadin 应用程序中嵌入一个纯 html 网站。我目前的方法如下。

将网站内容添加到我的源代码中的src/main/webapp/embedded 目录。

添加如下所示的servlet映射,这样对embedded目录的请求就不会转到vaadin servlet,而是由tomcat的默认servlet处理。

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/embedded/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>VaadinServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

有人能注意到这种方法有什么问题吗?或者有人可以提出更好的方法吗?

【问题讨论】:

  • 请定义您所说的“嵌入”是什么意思?你设置它的方式,它只是从同一个 url 中挖掘文件夹的内容,但是为什么将它嵌入到 vaadin 中而不使用另一个 url?
  • 查看 Vaadin 的 BrowserFrame 组件。您可以在 BrowserFrame 中显示任何资源。
  • @AndréSchild 我希望将 vaadin 应用程序和纯 html 站点打包在同一个 war 文件中
  • 好的,这样就可以了。但是你的静态内容的位置对 vaadin 来说并不重要,你可以把它放在你想要的地方,也可以使用 servlet 来映射容器中的路径。

标签: java tomcat servlets vaadin


【解决方案1】:

如果您想在您的 vaadin 应用程序中显示该站点,您可以使用 BrowserFrame 组件:

String filepath = VaadinServlet.getCurrent().getServletContext().getRealPath("embedded/mysite.html");
File htmlFile = new File(filepath);

FileResource fileResource = new FileResource(htmlFile);

BrowserFrame frame = new BrowserFrame(null, fileResource);

【讨论】:

  • 这是否允许embedded目录中的html页面之间的链接?
猜你喜欢
  • 2010-12-22
  • 2020-03-04
  • 2019-11-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多