改札のディレクトリ構造を理解しようとしています。まったくわからない!images/logo.gifなどの画像をロードしたいとします。画像フォルダはどこに置く必要がありますか?これで私を助けてください!;)
3 に答える
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
! に関連しています)、キャッシュも自動的に処理します。
プロジェクトのルートに直接画像フォルダを作成できます。つまり、戦争アーカイブには、ルートレベルの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")); } }
Netbeans では、ソース パッケージ tld.domain.project の下にあります。そこに images という名前の新しいフォルダーを作成すると、機能します