3

改札のディレクトリ構造を理解しようとしています。まったくわからない!images/logo.gifなどの画像をロードしたいとします。画像フォルダはどこに置く必要がありますか?これで私を助けてください!;)

4

3 に答える 3

7

Wicket は、OOP パラダイムを通じて Web ページ全体を考えることを促進します。これには、リソースの処理が含まれます。

したがって、あなたSomePage extends WebPageが packageにある場合はmyprogram.view.pages、画像などをmyprogram.view.pages.assets(または他の同様の名前の論理 package ) に追加してから、呼び出して SomePage ソースに画像を追加する必要があります。

add(new Image("id", new ResourceReference(this.getClass(), "assets/logo.gif")));

このようにして、すべてのページ、そのコンポーネント、そしてもちろん関連するアセットを合理的な構造にします (人々がまだすべての CSS スタイルを 1 つの巨大なスタイルシートに詰め込んでいることに腹を立てているのは私だけでしょうか? )。

そして今、高度な部分: ページの静的要素については、上記のことをしたくない可能性が高いです. このようなものには、

<wicket:link>
    <img src="images/logo.gif" />
</wicket:link>

マークアップファイルで直接。wicket:linkタグは、正しいファイルを指す画像リソースを自動的にリンクし (パスはSomePage.class! に関連しています)、キャッシュも自動的に処理します。

于 2009-09-12T20:50:45.607 に答える
4

プロジェクトのルートに直接画像フォルダを作成できます。つまり、戦争アーカイブには、ルートレベルのMETA-INF、WEB-INF、画像が含まれている必要があります。または、サーブレットコンテナのWebアプリフォルダのルートにあります。次に、HTMLのようにそれを参照します

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

Javaコードから画像を参照している場合は、サーブレットパスを基準にして画像を作成する必要があります。サーブレットコンテキストを介してアクセスできます。

クラスMyPageはWebPageを拡張します{
  public MyPage(){
     最終的なServletContextctx=((WebApplication)getApplication())。getServletContext();
     ファイルimgFile=new File(ctx.getRealPath( "/ images / pic1.jpg"));
   }
}
于 2009-09-12T10:24:46.117 に答える
-2

Netbeans では、ソース パッケージ tld.domain.project の下にあります。そこに images という名前の新しいフォルダーを作成すると、機能します

于 2009-09-11T13:57:46.150 に答える