Question

J'essaie de comprendre la structure de répertoires du guichet. Je ne comprends pas du tout! Disons que je veux charger une image avec images / logo.gif ou quelque chose comme ça. Où dois-je placer le dossier images? S'il vous plait, j'ai besoin de votre aide avec ceci! ;)

Était-ce utile?

La solution

Wicket encourage la réflexion sur des pages Web entières à travers les paradigmes de la POO, y compris la gestion de la recource.

Ainsi, si votre SomePage étend WebPage se trouve dans le package myprogram.view.pages , vous devez probablement ajouter des images, etc. à myprogram.view.pages .assets ( ou un autre package logique portant le même nom ), puis ajoutez l'image dans la source SomePage en appelant

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

De cette manière, toutes vos pages, leurs composants et, bien sûr, les éléments associés, seront placés dans une structure raisonnable ( suis-je le seul à être contrarié par le fait que tous les styles CSS soient regroupés dans une seule et même feuille de style? ) qui est détaché de tout le reste.

Et maintenant les éléments avancés: pour les éléments statiques de votre page, vous ne voudrez probablement pas faire ce qui précède, car il s’agit évidemment d’une manière un peu lourde de le faire et vous pouvez permettre au concepteur de choisir l’image du logo. utiliser. Pour ce genre de choses, utilisez

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

directement dans le fichier de marquage. La balise wicket: link liera automatiquement le ressource image pointant sur le bon fichier (le chemin concerne le SomePage.class !) et gère même la mise en cache de manière automatique.

Autres conseils

Vous pouvez créer un dossier d’image directement à la racine de votre projet. c'est-à-dire que vos archives de guerre doivent contenir des images META-INF, WEB-INF, au niveau racine. Ou à la racine de votre dossier d'applications Web dans le conteneur de servlets. Puis référencez-le dans votre code HTML comme

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

Si vous référencez l'image à partir du code Java, vous devez la rendre relative au chemin de votre servlet. Vous pouvez y accéder via le contexte de servlet en

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

Sous Netbeans, il s’agit des paquets sources tld.domain.project Là vous faites un nouveau dossier appelé images et ça marche

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top