Frage

Ich schaffe haben ein Skelett Wicket-Projekt mit

mvn archetype:create -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.4-rc4 -DgroupId=com.mycompany -DartifactId=myproject

Die ganze Konfiguration / Import neues Projekt mit Maven / Intellij hat gut funktioniert. Ich ging eine grundlegende CSS-Datei zu meiner Startseite hinzuzufügen, gemäß der folgenden empfohlenen Art und Weise davon in Wicket 1.4

tun
public class BasePage extends WebPage {
    public BasePage() {
        add(CSSPackageResource.getHeaderContribution(BasePage.class, "main.css"));
    }
}

Die main.css Datei hat an der Seite von BasePage.java und BasePage.html in / src / main / java gesetzt worden. Ich starten Sie die Anwendung mit Start.java. Das Problem ist, wenn ich Änderungen an der CSS-Datei wird es nicht abgeholt, wenn ich Start.java Relaunch. (Änderungen an den Java und HTML-Dateien aktualisiert werden, wenn ich sie ändern)

ich sicher, dass der Browser-Cache gelöscht wurde, und auch die Anforderung / Antwort in Firfox / Firebug valided. Es scheint, wie irgendwo zwischen Wicket Magie und der Anlegestelle Instanz Start.java die CSS-Datei erstellt zwischengespeichert wird und nicht aktualisiert. Irgendwelche Ideen?

War es hilfreich?

Lösung

zog ich die CSS-Dateien in dem / webapp Verzeichnis und das schien das Problem des Erhaltens Start.java zu lösen, um die Änderungen zu registrieren. Ich tue das gleiche für js Dateien und Bilder. Merkwürdigerweise habe ich gelesen (auf mehreren Seiten) Menschen dies auf verschiedene Weise tun (Obwohl der Konsens für HTML und Java-Klassen immer ist ihnen die gleiche Stelle zu haben).

Andere Tipps

Ich finde eine andere Lösung, die mir hilft. Sie können Wicket konfigurieren für eine Ressource einen Zeitstempel auf die Anforderung hinzuzufügen, um das Caching Problem zu lösen. In der init-Methode Ihrer Anwendungsklasse Aufruf setAddLastModifiedTimeToResourceReferenceUrl der recource Einstellungen.

public class MyApplication extends WebApplication {
    @Override
    protected void init() {
        getResourceSettings().setAddLastModifiedTimeToResourceReferenceUrl(true);
    }
}

Original: http://old.nabble.com/Javascript-CSS-being-cached-by-the-browser-even-when-it -hat-changed.-Soll-setAddLastModifiedTimeToResourceReferenceUrl% 28true% 29-be-the-default - td14886538.html

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