分享

Struts2值栈

 忠波irlphwt1ng 2020-01-09

值栈由两部分组成root和Context,root中可以存放任何对象,其内部结构是一个栈,后进先出,而Context只能存放Map对象,默认Context存放了ActionContext数据中心,可以自己往Context里面添加map,栈中寻找值的原则是,先从栈顶开始找,找不到的话继续往下找,直到找到,如果要在jsp页面查看Action的值栈,可以在页面使用debuger标签,如:

可以看到Action中的值栈信息,栈中存放的默认是Action类,Context中存放数据中心

获取值栈和压入值栈的方式:

OGNL表达式在Struts2中主要用处有3方面:

1、在Struts2的拦截器中用于接收参数封装,这个是框架做的,这也是Struts引入OGNL表达式的关键原因,在接收参数封装后会创建值栈数据

2、在配置文件中使用OGNL表达式:

 

 

 

但是每次不可能写死参数值为tom,这时就可以借助值栈来实现:

 

 

 

3、在Struts2的标签中使用OGNL表达式:

 如果是从值栈的栈中获取数据,那么直接写名字获取,如果是从Context中获取的话那么需要用#进行获取:

 

 ============================================================

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多