Frage

Ich versuche, die Verzeichnisstruktur von Wicket, um herauszufinden. Ich verstehe es nicht! Sagen wir, ich möchte ein Bild laden mit images / logo.gif oder so ähnlich. Wo muss ich die Bilder-Ordner ablegen? Bitte helfen Sie mir mit diesem! ;)

War es hilfreich?

Lösung

Wicket fördert ganze Web-Seiten durch OOP Paradigmen zu denken und das schließt recource Handhabung.

Also, wenn Ihr SomePage extends WebPage in Paket myprogram.view.pages ist, sollten Sie höchstwahrscheinlich Bilder usw. in dem myprogram.view.pages.assets ( oder andere ähnlich benannten, logisches Paket ) und dann das Bild in der Quelle hinzufügen Eineseite durch den Aufruf

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

So können Sie alle Ihre Seiten haben wird, seine Komponenten und natürlich damit verbundenen Vermögenswerte in angemessenen Struktur ( bin ich der einzige verärgert, dass die Menschen immer noch alle CSS-Stylings zu einem riesigen Sheet stopfen? ) die von allem anderen abgelöst wird.

Und nun die erweiterten Teile: Für statische Elemente auf Ihrer Seite, die Sie wahrscheinlich nicht wollen, die oben zu tun, da es offensichtlich etwas Schwergewicht Art und Weise, es zu tun, und Sie können tatsächlich wollen, dass der Designer Kerl ermöglichen Bild zu entscheiden, welches Logo benutzen. Für diese Art von Dingen, verwenden Sie

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

gerade in der Markup-Datei. Die Wicket: link Tag wird das automatisch verlinken Bildressource auf die richtige Datei verweist (Pfad ist relevant für den SomePage.class!) und sogar automatisch behandelt Caching.

Andere Tipps

Sie können Bildordner direkt im Stammverzeichnis Ihres Projektes erstellen. das heißt Ihr Kriegsarchiv muss META-INF, WEB-INF, Bilder auf Root-Ebene enthalten. Oder in Wurzel Ihrer Web-App-Ordner in Servlet-Containern. Referenz es dann in Ihre HTML ist wie

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

Wenn Sie das Bild aus dem Java-Code sind verweisen, müssen Sie es zu Ihrem Servlet-Pfad machen relativ. Es kann durch

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

In Netbeans ist es unter Quellcode-Pakete tld.domain.project Dort können Sie einen neuen Ordner Bilder machen genannt und es funktioniert

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top