2011-01-15 9 views
4

私は次の例を試しています。 ChangeTextOnClick.htmlは、次のスニペット(WicketLink.html)を含むファイルと同じディレクトリにあるので、正常に動作します。しかしHelloWorld.htmlは別のパッケージに入っているので動作しません。別のパッケージのページをどのように参照するのですか?wicket wicket: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> 

私のページは、フォローのディレクトリ構造にWicketでは

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

ありがとうございます。../メイン/ ...を使用している相対URLは機能しました。 /をdir seperatorとして使用しても機能しませんでした。あなたが答えとして入れることができるなら、私はそれを受け入れることができます – user373201

+0

/区切りも動作するはずですが、おそらく先頭に/が必要です。そうでなければ、それは相対リンクだと思うでしょう。 – biziclop

答えて

5

それは私の推測が正しかったことが判明したので、ここではそれが答えのようになります。

Wicketのは、パスの区切りとして/、ない.使用しています。

<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を生成させるために、Javaでのリンクを使用して別のHTMLファイルを参照します。ページを修正URL(ブックマーク可能リンクと呼ばれ、ユーザセッションとは独立している)の下にマウントするか、リンクを使用するだけです。ブックマーク可能リンクについては

は、あなたのWicketアプリケーションクラスのは、init()で次の操作を行います。これにより

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を使用する必要があります。

Wicket wickiをご覧ください。多くの参考情報があります。

0

上記の答えはperfect.Itあるプロジェクトに別のフォルダにするだけでなく、必要がありますが、またそれはどこかにすることができWicketApplicationファイルで設定が正しく行われていれば、そのファイルを参照することは可能です。

+4

答えは並べ替えられるかもしれません。だから、あなたが答えをコメントしたいのであれば、コメント機能がもっと役に立ちます。 – Nicktar