2011-01-15 4 views
4

다음 예제를 시도하고 있습니다. ChangeTextOnClick.html은 다음 스 니펫 (WicketLink.html)이 포함 된 파일과 동일한 디렉터리에 있으므로 정상적으로 작동합니다. 그러나 HelloWorld.html은 다른 패키지에있는 것처럼 작동하지 않습니다. 다른 패키지의 페이지를 어떻게 참조합니까?개찰표 : link

<wicket:link> 
     <ul> 
      <li> 
       <a href="ChangeTextOnClick.html">Change Text On Click</a> 
       <a href="com.merc.wicket.main/HelloWorld.html">Back</a> 
      </li> 
     </ul> 
    </wicket:link> 

내 페이지가 개찰구에서 추적의 디렉토리 구조

com.merc.wicket.link.WicketLink.java and .html 
com.merc.wicket.link.ChangeTextOnClick.java and .html 
com.merc.wicket.main.HelloWorld.java and .html 
+0

나는 대신 /를 사용하고 싶습니다. 디렉토리 구분자로 사용하고 상대 경로 (예 : "../main/HelloWorld.html")도 사용할 수 있습니다. – biziclop

+0

감사합니다. ../ main/...을 (를) 사용하는 상대 URL이 작동했습니다. /를 dir seperator로 사용하면 작동하지 않습니다. 대답으로 넣을 수 있다면 받아 들일 수 있습니다. – user373201

+0

/separator도 작동해야하지만 아마도 /를 사용해야합니다. 그렇지 않으면 개찰구가 상대 링크라고 생각합니다. – biziclop

답변

5

그것은 내 생각은 정확했다 판명하는 것은 그래서 여기가 답변과 같습니다

개찰구 경로 구분 기호로 /하지 . 사용합니다.

<wicket:link> 
    <ul> 
     <li> 
      <a href="ChangeTextOnClick.html">Change Text On Click</a> 
      <a href="/com/merc/wicket/main/HelloWorld.html">Back</a> 
     </li> 
    </ul> 
</wicket:link> 

은 하나 개의 솔루션 또는 사용하여 상대 경로입니다 :

<wicket:link> 
    <ul> 
     <li> 
      <a href="ChangeTextOnClick.html">Change Text On Click</a> 
      <a href="../main/HelloWorld.html">Back</a> 
     </li> 
    </ul> 
</wicket:link> 
10

에, 당신은 일반적으로 개찰구 당신을위한 HREF를 생성 할 수 있도록 자바의 링크를 사용하여 다른 HTML 파일을 참조 할 것. 페이지를 수정 URL (사용자 세션과 독립적 인 북마크 가능 링크)으로 마운트하거나 링크 만 사용할 수 있습니다. 즐겨 찾기가 링크에 대한

, 당신은 당신의 개찰구 응용 프로그램 클래스의 초기화()에서 다음을 수행 할 것입니다 :이

public class WicketApplication extends WebApplication{ 

    protected void init() { 
     super.init(); 
     mountBookmarkablePage("/ChangeTextOnClick", ChangeTextOnClick.class); 
     mountBookmarkablePage("/HelloWorld", HelloWorld.class); 
    } 
} 

, 당신은 항상 주어진 URL을 아래에 그 2 개 페이지에 도달 할 수 있습니다.

당신이 가리키는 MyPage.java이를 사용하여 링크를 만들 수 있습니다

add(new BookmarkablePageLink<ChangeTextOnClick>("myExampleLink" 
        ,ChangeTextOnClick.class) 

및 대응의 mypage.html에 : 당신이 돈 '경우

<a href="thisGetsReplacedAtRuntime" 
        wicket:id="myExampleLink">Change Text On Click</a> 

톤은에 링크를 원하는 북마크가 가능하다면, init()에서 mountBookmarkablePage를 필요로하지 않고 BookmarkablePageLink 대신 aa Link를 사용할 필요가있다.

위킷 위키를 살펴보면 많은 유용한 정보를 찾을 수 있습니다.

0

위의 대답은 perfect.It하지 만하면 프로젝트의 다른 폴더에있을 수 있습니다,하지만 그것은 어디에서 할 수 있습니다 WicketApplication 파일에서 설정이 올바르게 완료되면 해당 파일을 참조 할 수 있습니다.

+4

대답이 재정렬 될 수 있습니다. 따라서 답변에 댓글을 달려면 댓글 기능이 더 도움이 될 것입니다. – Nicktar