zoukankan      html  css  js  c++  java
  • struts-OGNL

    特点  常用来访问值栈里对象属性的一种语言

        通常由struts标签来解析执行  <%@ taglib prefix="s" uri="/struts-tags"%>

    值栈  特点  ValueStack

            栈的特点:后入先出

        内容  对象栈  存放action的实例及相关对象

            Map栈  存放封装web资源的Map对象  application,session,request,parameter

                                attr  通用属性,按照request,session,application的顺序查找属性值

                 实际上是ActionCont的引用

        API  通过 ActionContext 对象的 getValueStack() 获取值栈对象

          方法  push(Object)  把对象压入对象栈的顶部

              pop()  移除对象栈的顶部对象(类似删除)  

              peek()  得到对象栈顶部的对象(类似get)  

    访问方式

      struts标签  <s:property value=""/>  只输出<s:property/>会输出栈顶的对象

             访问对象栈  <s:property value="属性名"/>  按先后顺序匹配属性名,只输出找到的第一个

                    可定义起始位置  value="[索引]['属性名']"  (索引值从0开始)

                            value="[索引].属性名"

             访问Map栈  <s:property value="#作用域.key"/>  如果作用域=attr,按照request,session,application的顺序查找属性值

             访问对象的方法  value=“[起始索引].方法名(参数列表)”  实例方法

             访问类的静态方法和属性  value=“@全类名@方法名(参数列表)”  

                          value=“@全类名@静态属性名(参数列表)”  静态方法和属性,默认不允许访问,要在struts里打开

                          打开的语句<constant name="struts.ogrl.allowStaticMethodAccess" value="true"></constant> 

             访问对象的集合属性  输出集合内容  value=“[起始索引].集合属性名”

                        访问集合单元  数组和List  value=“[起始索引].集合属性名[索引]”

                                Map  value=“[起始索引].集合属性名[‘key’]”

                        获取集合长度  数组  value=“[起始索引].集合属性名.lenght”

                                List和Map  value=“[起始索引].集合属性名.size”

                        判断内容是否为空  value=“[起始索引].集合属性名.isEmpty”

      使用EL  访问对象栈  ${属性名}  按先后顺序匹配属性名,只输出找到的第一个,不能定义查找的起始位置

            访问Map栈  ${作用域.属性名}  

  • 相关阅读:
    IE6-IE11兼容性问题列表及解决办法
    EJB--事务管理 .
    JDBC批处理---(java 对数据库的回滚) .
    redisb并发访问慢出现的问题
    redis其他问题
    多线程实现服务器端接收连接
    序列化作用
    redis的key过期时间
    nginx负载均衡和反向代理有什么区别
    nginx的负载均衡和反响代理配置
  • 原文地址:https://www.cnblogs.com/jingfengling/p/6078381.html
Copyright © 2011-2022 走看看