1

为了优化我的应用程序中的一个网页,我需要缓存已包含在主 JSP 中的 JSP 片段。如何为 JSP 片段使用缓存?我遇到了 OSCache,这是一个好方法吗?另外,如果有教程可以发给我。

4

2 回答 2

1

EhCache 有SimplePageFragmentCachingFilter来缓存 JSP 片段。虽然我使用过 EhCache,但我从未使用过它的 JSP 缓存部分。但我认为它是可靠的,因为图书馆的其他部分是可靠的。

于 2013-12-21T15:17:11.580 回答
1

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 片段文件的内容包装到这样的结构中。但是会话的生命周期 - 由(此处为 30 分钟)确定:

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

在你的web.xml.

于 2014-12-16T19:08:31.697 回答