当前位置: 代码迷 >> 综合 >> El表达式中pageScope、requestScope、sessionScope、applicationScope作用
  详细解决方案

El表达式中pageScope、requestScope、sessionScope、applicationScope作用

热度:1   发布时间:2023-12-22 11:54:34.0

从pageContext、request、session、application四个作用域依次检索指定关键词的数据,到XXScope的XX作用域为止。即它们检索的范围依次是:

pageScope :        pageContext。    //page之后的检索不到

requestScope:     pageContext->request。 //request之后的检索不到

sessionScope:     pageContext->request->session。 //session之后的检索不到

applicationScope: pageContext->request->session->application。


此外还涉及到作用域的作用范围影响:

pageContext.setAttribute(“name”,“a”)    //只在当前页面

request.setAttribute(“name”,“b”)    //一次请求中,可以请求转发

session.setAttribute(“name”,“c”)    //会话超时之前都存在,只要浏览器不关闭

application.setAttribute(“name”,“d”)    //服务器重启或关闭前都存在,只要服务器不关闭

EL表达式取name:

${pageScope.name }

${requestScope.name }

${sessionScope.name }

${applicationScope.name }

注意,由于四个XXScope都是从小到大的作用域范围,会存在application.setAttribute()时,需要检索4个域。所以,为了提高效率,在开发时应考虑数据的持久度选择合适的作用域,选择合适作用域也能够控制好数据持久度。