vaadin主题的本地路径

时间:2016-05-23 14:22:07

标签: java vaadin pdfbox vaadin7

我目前正在使用vaadin应用程序中的pdfbox创建带有图像的pdf。我想知道如何在vaadin主题使用的pdfbox中使用相同的图像路径 现在我仍然使用.properties文件指向图像文件夹,但我更喜欢我可以将图像放在主题文件夹中。这样我就可以轻松地将图像添加到文件夹中并将它们放在git中。这种自动化可以省去确保.properties文件和图像在不同机器上运行的麻烦。

我到目前为止找到的最佳解决方案是使用 Application.class.getResource(“/ images”)。toString(); 我不喜欢的是它以“file:”的格式返回它。我可以删除“文件:” - 部分,但我想知道是否有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

首先通过VaadinServlet获取servlet上下文(另请参阅this answer)。

ServletContext servletContext = VaadinServlet.getCurrent().getServletContext();

然后致电

String path = getServletContext().getRealPath("/VAADIN/themes/...");

根据docs,如果您的网络应用未从WAR文件中解压缩,则可能无法实现。