zoukankan      html  css  js  c++  java
  • 值栈的数据结构

    上篇博客中我们简单介绍了ValueStack(值栈)具有栈的特性以堆栈的形式存储数据。如果值栈中存储多个对象,那么其实以存储的先后顺序来压入堆栈的。在查找OGNL表达式对应的属性时,会从栈顶一次往下查找一直到底或找到该属性为止,换句话来说就是如果存在相同名字的属性时,那么靠近栈顶的对象的优先级别更高!下面的属性就不会再被读取。

    下面以一个例子来做演示:

    Action类中的代码:

    image

    视图页面展示:

    image

    显示结果:

    image

    从上面的结果中我们可以看出两次显示的值都是“陈坤”说明“赵薇”被忽略了,所以并没有显示,我们再调出Debug来查看ValueStack中的信息。

    image

    从值栈信息中我们可以看出”陈坤“比“赵薇”距离栈顶更近,所以OGNL只会显示“陈坤”!

  • 相关阅读:
    Java 泛型约束
    Java 单例模式
    Java中的Atomic包使用指南
    基数排序
    归并排序
    插入排序
    选择排序
    交换排序
    Java多线程 LockSupport
    Java并发控制:ReentrantLock Condition使用详解
  • 原文地址:https://www.cnblogs.com/wangzheand/p/5858666.html
Copyright © 2011-2022 走看看