Domanda

Ho creare un progetto Wicket scheletro utilizzando

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

Tutti la configurazione / importazione nuovo progetto con Maven / IntelliJ ha funzionato bene. Ho provveduto a aggiungere un file CSS di base per la mia pagina iniziale, secondo il seguente modo consigliato di farlo in Wicket 1.4

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

Il file main.css è stato messo insieme BasePage.java lato e BasePage.html in / src / main / java. Lancio l'applicazione con Start.java. Il problema è che quando faccio le modifiche al file CSS non viene raccolto quando ho rilanciare Start.java. (Le modifiche ai file Java e HTML vengono aggiornati quando li cambio)

Ho fatto che la cache del browser era stato cancellato, e anche valided la richiesta / risposta in Firfox / Firebug. Sembra che da qualche parte tra la magia del Wicket e l'istanza pontile Start.java crea il file CSS viene memorizzato nella cache e non aggiornato. Tutte le idee?

È stato utile?

Soluzione

ho spostato i file CSS nella directory / webapp e che sembrava per risolvere il problema di ottenere Start.java per registrare le modifiche. Sto facendo la stessa cosa per i file e le immagini js. Stranamente, ho letto (su più siti) persone che fanno questo in modi diversi (Anche se il consenso per le classi HTML e Java è sempre quello di farli nello stesso posto).

Altri suggerimenti

trovo un altra soluzione che mi aiuta. È possibile configurare Wicket per aggiungere un timestamp alla richiesta di una risorsa per risolvere il problema di caching. Nel metodo init della vostra applicazione chiamata classe setAddLastModifiedTimeToResourceReferenceUrl delle impostazioni Recource.

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

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top