Troubleshooting: Dynamic caching in an application
WebSphere Commerce uses the JSTL (Java Server Tag Library) to create new JSP pages. This enables a Web developer to create a Java page without having to worry about the underlying code, while a Java developer can write the code simultaneously, or at a later period. Unfortunately, dynamic caching cannot execute the JSTL <c:import> tag on its own.
If you are using JSTL for your store pages and want to use dynamic caching to cache your pages:
- Open your JSP file.
- Create an out.flush() around the <c:import> tag in your JSP file.
This is shown in the following example:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <% out.flush(); %> <c:import url="${jspStoreDir}${StyleDir}CachedHeaderDisplay.jsp"> <c:param name="storeId" value="${WCParam.storeId}"/> <c:param name="catalogId" value="${WCParam.catalogId}"/> <c:param name="langId" value="${langId}"/> <c:param name="categoryId" value="${categoryId}"/> <c:param name="userType" value="${userType}"/> <c:param name="lastCmdName" value="${lastCmdName}"/> </c:import> <% out.flush(); %>
You should now be able to use dynamic caching.
Tip: It
is not required to use out.flush statements, however, the pages may not display
correctly without including out.flush statements around every <c:import>
statement.