2009-06-30 42 views
2

刷新我已經創建使用CSS文件不要檢票(通過Start.java的IntelliJ中推出)

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

所有配置/骨架檢票項目引進與Maven /的IntelliJ新的項目工作的罰款。我開始一個基本的CSS文件添加到我的開始頁面,按照以下推薦的方法做它在檢票1.4

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

的main.css的文件已沿側BasePage.java和BasePage.html在放/的src/main/java中。我使用Start.java啓動應用程序。問題是,當我重新啓動Start.java時,我對CSS文件進行了更改,但未找到它。 (當我更改它們時,正在更新java和html文件)

我確保瀏覽器緩存被清除,甚至在Firfox/Firebug中確定了請求/響應。它似乎介於Wicket的魔法和碼頭實例Start.java創建CSS文件被緩存而未更新之間。有任何想法嗎?

回答

1

我將css文件移至/ webapp目錄,似乎解決了獲取Start.java來註冊更改的問題。我正在爲js文件和圖像做同樣的事情。奇怪的是,我已經閱讀過(在多個網站上)人們以不同的方式來做這件事(雖然HTML和Java類的共識總是讓他們在同一個地方)。

1

我找到了一個可以幫助我的其他解決方案。您可以將Wicket配置爲向資源請求添加時間戳以解決緩存問題。在應用程序類的init方法中,調用recource設置的setAddLastModifiedTimeToResourceReferenceUrl。

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

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