2016-05-23 22 views
0

私は現在、vaadinアプリケーションでpdfboxを使用している画像でpdfsを作成しています。私はvaadinのテーマで使用されているpdfboxで同じ画像パスをどのように使うことができるのだろうかと思います。
私は今でも.propertiesファイルを使用してimages-folderを指していますが、イメージをテーマフォルダに置くだけでよいのですが。そうすれば、簡単にフォルダに画像を追加し、gitでそれらを持つことができます。この自動化は、.propertiesファイルとイメージが異なるマシン上で動作していることを確認する手間を省きます。vaadinテーマのローカルパス

私が今までに見つけた最良の解決策は、Application.class.getResource( "/ images")。toString();を使用しています。 私がそれについて気にしていないのは、 "file:"の形式で返すということです。私は "ファイル:"部分を削除することができましたが、これに対してもっと良い解決策があるかどうか疑問に思っていましたか?

+0

実行時にpdfsを作成することを意味しますか?そしてあなたは彼らにバディアンアプリの利用者がアクセスできるようにしたいのですか? – kukis

+0

したがって、VAADIN/themes/yourtheme/imagxyz.imgの下のイメージがローカルファイルシステム上のどこにあるかを確認したいのですか? –

+0

@SteffenHarbichはい、それは何を探しています。 – BluE

答えて

0

VaadinServletでサーブレットのコンテキストを取得します(thisの回答も参照してください)。

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

その後、あなたはWARファイルからアンパックではないWebアプリケーションを持っている場合、それは可能ではないかもしれませんdocsによると

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

を呼び出します。