我們剛從GWT移到Wicket 1.4。雖然總體上非常高興,但對於GWT變得簡單的某些事情,我們仍然有一些學習曲線。其中一件事就是資源緩存。Wicket:正確緩存CSS資源
如何配置我們應用程序的資源(特別是CSS),以便它們不會隨每個頁面請求一起下載?
我們發現某些頁面元素有些閃爍,因爲樣式不是立即應用的,大概是因爲每次都下載樣式表。我追蹤了我們的日誌,事實上,幾乎每個頁面請求都會看到樣式表的請求。
我們直接引用CSS在我們的HTML文件,像這樣:
<link href="/css/ag.screen.css" rel="stylesheet" type="text/css">
<link href="/css/ag.base.css" rel="stylesheet" type="text/css">
我不知道它的問題,但我們的所有頁面都裝有IndexedParamUrlCodingStrategy
,因爲我們需要他們兩個可收藏並具有特定的URL結構。
我試着實現StefanFußenegger在他的blog(即通過頭文件引用而不是直接在HTML中引用CSS)的建議,但這似乎沒有幫助(我試着用「curl -I 「)。
有沒有爲Wicket 1.4中的資源設置Cache-Control或Expiration標題的標準方式?這是值得轉移到Wicket 1.5嗎? (我很猶豫,因爲它尚未正式發佈)。
編輯:我剛剛給了1.5次另一個嘗試,但缺乏文檔在這一點上確實是一個障礙。 IndexedParamUrlCodingStrategy
和相關的課程已經沒有了,移植指南幾乎沒有什麼可說的。
編輯2:我剛剛注意到一些非常奇怪的事情 - 當我通過直接輸入URL或單擊書籤頁鏈接(頁面引用的資源(CSS,圖像等))到達我的某個頁面時,似乎得到緩存(我看不到他們在我的日誌中的請求)。但是,如果我通過表單提交到達同一頁面,則所有資源都會再次下載。爲什麼表單提交會導致頁面上引用的資源被重新下載?
只是好奇,是什麼讓你從GWT移動到Wicket? – 2011-05-26 00:00:43
亞歷克斯 - 一長串事情。最近的一些(我的頭頂)是讓Facebook/Twitter按鈕工作,整合Adsense,試圖獲取谷歌索引的Ajax內容,以及爲新的GWT「編輯器」框架而努力的問題。事實證明,在「傳統」框架中編寫應用程序要簡單得多,然後根據需要爲交互式內容編寫小量的Javascript。多年來我一直是GWT的粉絲,所以這對我來說並不輕微。計劃很快寫一篇博客文章。 – 2011-05-26 03:38:40
有趣。我使用Wicket幾年,但最終偏向GWT。 Wicket棒極了,但它並沒有像我希望的那樣獲得太多的認可 - 這意味着很難讓人們熟悉它。無論如何,我希望在編寫它時看到您的博客條目。請讓我知道。謝謝。 – 2011-05-26 04:59:11