2013-06-19 4 views
1

내 Java 응용 프로그램에서 변환을 수행해야합니다. xsl 파일을로드하는 데 문제가 있습니다. 나는 바람둥이를 사용하고, 경로 위치는 다음과 같습니다xsl 파일을로드 할 수 없습니다

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

나는 전체 경로를 사용하는 경우 파일이로드하지만 경우

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

이 스프레드 시트는 웹 응용 프로그램의 리소스입니까? 그렇다면 파일로 읽으려고해서는 안됩니다. 대신 리소스로 읽으십시오. – Raedwald

+0

유닉스 경로명에서, 선행 슬래시는 특별한 의미를 갖는다. – Raedwald

+0

@Raedwald 그것은 엑셀 파일이 아닌'xsl' 파일입니다. – user86834

답변

2

당신은 웹 애플리케이션, 예를 들어 상대 경로를 해결하기 위해 ServletContext.getResource을 사용할 수 있습니다 : 나는 FileNotFoundException이 얻을 /config/myfile.xsl 사용

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

또는 당신 getResourceAsStream을 사용하고 대신 URL의 입력 스트림로부터 StreamSource를 만들 수 있지만, 그렇게하면 당신이 document 기능을 사용할 수 있도록 스타일 시트 내부의 다음 상대 URL는 해결되지 않습니다 수 상대 URI가 XSLT에 있어야합니다.

+0

고마워요, 어디에서'ctx '가 왔나요? – user86834

+0

감사합니다 .. – user86834

관련 문제