jsp - 是否可以在每个 session 中仅评估 JSP 一次,然后将其缓存?

标签 jsp session servlets

我的网站有一个导航菜单,它是作为单独的 JSP 动态构建的,并通过 <jsp:include /> 包含在大多数页面中。菜单的内容和样式取决于用户有权访问和无权访问的页面。

可访问页面集是在用户登录时从数据库中检索的,而不是在 session 过程中检索的。因此,实际上没有必要在每次用户请求页面时重新评估导航菜单代码。有没有一种简单的方法可以在每个 session 中仅从 JSP 生成一次标记,并在 session 期间缓存/重用它?

最佳答案

类似的方法,但使用 JSTL 而不是 scriptlet 代码:

<c:if test="${empty menuContents}">
  <c:set var="menuContents" scope="session">
    Render the menu here...
  </c:set>
</c:if>
<c:out value="${menuContents}" escapeXml="false"/>

关于jsp - 是否可以在每个 session 中仅评估 JSP 一次,然后将其缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2791830/

相关文章:

java - 使用 JSP 进行对象请求

java - 如果浏览器关闭,JSF session 过期阶段监听器

java - 无法在 ubuntu 中编译 servlet

java - 使用请求调度程序 JSP 发送 404

java - 找不到springframework的标签库描述符

javascript - 在使用 cq :include? 包含外部 JS 之前,如何在 JSP 中包含全局 JS 变量

javascript - 如何检测并阻止用户使用 php/javascript 从多个浏览器选项卡访问 Web 应用程序?

php - session 销毁是否不足以清理 session

java - 从 .jsp 访问 .class'es 和 .jar's

java - 由于 web.xml,内容未显示在 profile.jsp 上?