2013-06-19 3 views
1

Мне нужно сделать преобразование в моем приложении Java. У меня возникли проблемы с загрузкой файла xsl. Я использую Tomcat, расположение путь:Не удается загрузить файл xsl

C: /tomcat/webapps/ROOT/WEB-INF/classes/config/myfile.xsl

, если я использую полный путь в файл загружается, но если Я использую /config/myfile.xsl я получаю FileNotFoundException:

StreamSource xslt = new StreamSource("/config/myfile.xsl"); 
+1

Эта электронная таблица является ресурсом вашего webapp? Если это так, вы не должны пытаться читать его как файл. Вместо этого прочитайте его как ресурс. – Raedwald

+0

В дорожках Unix ведущая косая черта имеет особое значение. – Raedwald

+0

@ Raedwald это файл 'xsl' не файл excel. – user86834

ответ

2

Вы можете использовать ServletContext.getResource разрешить пути относительно веб-приложение, например,

StreamSource xslt = new StreamSource(ctx.getResource(
    "/WEB-INF/classes/config/myfile.xsl").toString()); 

В качестве альтернативы вы можете использовать getResourceAsStream и создать StreamSource из входного потока вместо URL, но если вы сделаете это, то относительные URL-адреса внутри таблицы стилей не рассосется, так что вы не можете использовать функцию document с относительным URI в вашем XSLT.

+0

Спасибо, откуда нет 'ctx'? – user86834

+0

Получил это спасибо .. – user86834

Смежные вопросы