サーバー(JBoss AS)にあるsvgフォルダーに保存するLiferayポートレットで.svgファイルを生成しています。これらのファイルは生成され、次のような .java クラスに保存されます。
private void saveSVG(Document doc, String fileName) {
// save svg to file
try {
File file = new File("svg/" + fileName + ".svg"); // make file
PrintWriter writer;
writer = new PrintWriter(new FileOutputStream(file)); // write and
// save file
DOMUtilities.writeDocument(doc, writer);
writer.flush();
writer.close();
System.out.println("File path: " + file.getPath());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
ファイルは server/bin/svg ディレクトリに保存されます。しかし、.jsp ページのファイルにアクセスしようとすると、ファイルが見つからないように見えます (別のディレクトリを探している可能性があります)。目的のファイルがどこにあるのか、どうすればわかりますか? 絶対パスを使用してどこかに保存し、.jsp ページに渡すこともできますが、それは非常に洗練されたソリューションとは思えません。
<object data="svg/topBar.svg" type="image/svg+xml"></object>
または、ファイルを.jspページが上のコードを使用して見つける相対パスに保存するにはどうすればよいですか?
助けてくれてありがとう!
編集:「topBar.svg」は明らかに、この例で使用しているファイル名です