2012-02-24 4 views
0

Spring MVC로 Java 웹 애플리케이션을 개발 중이고 여기서 약간의 문제가 있습니다. 내가 코드,이 부분의 작업을 잘 (검증 부분)을 검증하기 위해 W3C에 .css 파일을 전송하고,하지만 난 파일 객체를 생성 할 수 있도록 내 프로젝트의 .css 파일의 경로를 필요로이 작업을 수행 할파일 경로 경로

그것을 W3C에 보냅니다.

(내 논리로) CSS 파일에 경로를 쓰는 법을 모르겠습니다. 절대 경로를 사용하고 싶지 않아 문제없이 모든 서버로 앱을 이동할 수 있습니다.

프로젝트를 배포 한 후 WAR가 서블릿으로 이동하고 프로젝트 폴더의 구조가 WAR와 다릅니다!

.css 파일을 어디에서 찾을 수 있는지 내 논리에 대해 알지 못합니다.

+1

그래서 CSS 파일은 프로젝트 (WAR 파일)에 포함되어 있지 않습니까? 어쩌면 당신은 약간의 예를 제공 할 수 있습니다, 나는 당신의 질문이 무엇인지 전혀 몰랐습니다. – home

+0

그들은 전쟁 파일에 있습니다! 하지만 난 내 논리에 어떤 경로를 부여 해야할지 모르겠다! 문자열 fileCSSPath = "../resources/css/"... <- 그게 내가 원하는 그게 !! .war에서 CSS 파일의 경로를 작성하는 방법! – BrunoX

답변

0

좋아,이 방법을 알아 냈어! 여기에 그것의 방법

String me = this.getClass().getName().replace(".", "/")+".class"; 
    me = this.getClass().getClassLoader().getResource(me).getPath(); 
    String[] route = me.split("WEB-INF"); 
    String servletUri = route[0]; 
    fileNameCSS = servletUri+"resources/css/"+file; 

그래서 내가 뭘하고 있니? 우선 클래스 이름을 얻습니다. 그런 다음 클래스의 getResource를 사용하여 경로를 요청합니다. Thits는 나에게 서버 (/ home/bterra/OneX/WEB-INF/etc etc)에서 구멍 프로젝트의 경로를 제공합니다!

이제 원하는 정보를 얻었습니다. 서버에서 내 프로젝트의 경로! 그런 다음 "WEB-INF"의 문자열을 분할하여 서버 경로가 나중에 내 css가있는 폴더의 이름과 유효성을 검사하려는 CSS의 이름을 연결하도록합니다!

나는 이것이 이것을하는 가장 좋은 방법이 아니라고 확신한다. 그러나 그것은 나를 위해 일한다! 너희들이 더 나은 방법이나 이것을 할 올바른 방법을 알고 있다면 ... plx 알려줘!

모두에게 감사드립니다!