2013-09-26 75 views
1

爲了優化我的應用程序中的一個網頁,我需要緩存已經包含在主JSP中的JSP片段。我如何使用緩存來處理JSP片段?我遇到OSCache,這是一個好辦法嗎?另外,如果您有任何教程,可以向我發送鏈接。JSP片段緩存

+0

我嘗試是這樣的: \t \t \t \t

\t \t \t < %@ include文件= 「/ checkout2 /包括/ inc_footer.jspf」 %> \t \t
\t $ {applicationScope.cachedFragment} ...窮人知道這是一個好主意。思考? – MilesToGo

回答

1

EhCache有SimplePageFragmentCachingFilter來緩存JSP片段。雖然我使用EhCache,但我從未使用JSP緩存部分。但是我認爲它是穩定的,因爲圖書館的其他部分是。

0

我使用的每用戶菜單緩存session範圍:

<c:if test="${empty JSPCACHE_menu}"> 
    <c:set var="JSPCACHE_menu" scope="session"> 
    <ul id="user-menu">...</ul> 
    </c:set> 
</c:if> 
${JSPCACHE_menu} 

隨着application範圍和c:if檢查,你可以在所有用戶之間的緩存值(例如貨幣匯率):

<c:set var="newCurrencyTS" value="currencyService.newCurrencyTS()"/> 
<c:if test="${JSPCACHE_currencyTS.time < newCurrencyTS.time}"> 
    <c:set var="JSPCACHE_currencyWidget" scope="application"> 
    <ul> 
     <c:for var="i" items="${currencyService.getActualRates()}"> 
     <li>...<li> 
     </c:for> 
    </ul> 
    </c:set> 
    <c:set var="JSPCACHE_currencyTS" value="${newCurrencyTS}" scope="application"/> 
</c:if> 
${JSPCACHE_currencyWidget} 

你可以將JSP片段文件的內容包裝到這樣的結構中。

<session-config> 
    <session-timeout>30</session-timeout> 
</session-config> 

web.xml: - 但會議的壽命由(這裏30分鐘)來確定。