struts2中值栈

值栈中的两个逻辑部分:

  1.Map栈(并不是真正的栈)。属性context,为OGNLContext类型,实际为ActionContext对象的一个引用,本质是一个Map,里面存放的各种Map,如request,session,application,attr

   访问它里面的数据,用OGNL的写法是<s:property value="#session.username"/><!-- 前面加#后面的为固定的几个,如request,session,application,attr -->

  2.对象栈(真正的栈)。属性root,为CompoundRoot类型,是为数据结构上的真正意义上的栈,其本质为一个ArrayList。

   访问它里面的数据,用OGNL的写法是<s:property value="[1].name"/><!-- [0]是栈顶的下标 -->

值栈的生命周期为一个Action响应的周期,实际上它带有Action响应过程中的所有类型的值对象。

OGNL:一种功能强大的表达式语言

    导入方式:<%@ taglib prefix="s" uri="/struts-tags" %> <!-- 导入标签库 -->

原文地址:https://www.cnblogs.com/feifeiyun/p/6253446.html