2009-09-11 2 views
3

개찰구의 디렉토리 구조를 파악하려고합니다. 나는 그것을 전혀 얻지 않는다! images/logo.gif 또는 그와 비슷한 이미지로 이미지를로드하고 싶다고 가정 해 보겠습니다. 이미지 폴더는 어디에 두어야합니까? 제발 도와주세요! ;)개찰구 디렉토리 구조

답변

7

개찰구에 의해 서블릿 컨텍스트를 통해 acessed 될 수있다 OOP 패러다임을 통해 전체 웹 페이지를 생각 촉진하고 그 recource 처리를 포함한다. 당신의 SomePage extends WebPage 패키지 myprogram.view.pages에있는 경우

그래서, 당신은 가장 가능성 myprogram.view.pages.assets에 등 이미지를 추가한다 (또는 기타 유사하게, 논리 패키지 이름) 다음

add(new Image("id", new ResourceReference(this.getClass(), "assets/logo.gif"))); 
를 호출하여 SomePage 소스에 이미지를 추가

이런 식으로 모든 페이지, 구성 요소 및 관련 자산을 합리적인 구조로 갖게됩니다 () 나는 모든 사람들이 여전히 모든 CSS 스타일을 하나의 거대한 스타일 시트로 밀어 넣는 것을 괴롭 히고 있습니까?) 그밖에.

고급 부품 : 페이지의 정적 요소에 대해서는 분명히 위의 작업을 수행하기가 쉽지 않으므로 분명히 다소 중량이 많이 걸리므로 실제로 디자이너의 사람이 로고를 결정하도록 허용 할 수 있습니다 사용할 이미지. 이러한 종류의 경우에는 마크 업 파일에서 곧바로

을 사용하십시오. wicket:link 태그는 올바른 파일을 가리키는 이미지 리소스를 자동으로 연결합니다 (경로는 SomePage.class과 관련이 있습니다!). 자동으로 캐싱을 처리합니다.

-2

넷빈즈 그것은 이 새 폴더라는 이미지를 만들 tld.domain.project 소스 패키지에서 그리고 그것은 당신은 프로젝트의 루트에 직접 이미지 폴더를 만들 수 있습니다

4

작동합니다. 즉, 전쟁 아카이브에는 META-INF, WEB-INF, 루트 수준의 이미지가 있어야합니다. 또는 서블릿 컨테이너에있는 웹 응용 프로그램 폴더의 루트에 있습니다. 당신은 자바 코드에서 이미지를 참조하는 경우 다음

 
<img src="images/pic1.jpg"/> 

처럼 HTML 년대에이를 참조, 당신은 당신의 서블릿 경로가 상대해야합니다. 그것은

 
class MyPage extends WebPage { 
    public MyPage() { 
    final ServletContext ctx = ((WebApplication) getApplication()).getServletContext(); 
    File imgFile = new File(ctx.getRealPath("/images/pic1.jpg")); 
    } 
} 
+0

더 자세히 설명해 주시겠습니까? :) 그게 좋을거야! – shevron

+0

opps ... 편집자가 내 글을 태그로 먹습니다. 고정되어 있고 거의 설명되지 않았다. –