Struts2的OGNL

来源:互联网 发布:我的世界租服务器淘宝 编辑:程序博客网 时间:2024/05/23 02:05

 OGNL是Struts2框架的默认表达式语言,增强了Struts2的数据访问能力,同时简化了代码。

 

1  Struts2中的OGNL Context是ActionContext,如图:

                

    

        值栈是Struts2的根对象,如果用户需要访问值栈中的对象,则可以直接通过下面的代码形式访问值栈中的属性: ${属性名}

        如果访问其他Context中的对象,需要加#前缀。

    Application对象:用于访问ServletContext,例如#application.userName或者#application["userName"],相当于调用Servlet的getAttribute("userName")。

    Session 对象:用来访问HttpSession,例如#session.userName或者#session["userName"],

                       相当于调用session.getAttribute("userName")。

    Request 对象:用来访问HttpServletRequest属性的Map,例如#request.userName或者#request["userName"],

                       相当于调用request.getAttribute("userName")。

    Parameters 对象:用于访问HTTP请求参数,例如#parameters.userName或者#parameters["userName"],

                       相当于调用request.getParameter("userName")。

 

 

  2  OGNL 的集合操作

        如果需要一个集合元素(如List对象或者Map对象),可以使用OGNL中同集合相关的表达式。

        1、直接生成一个List对象: {e1,e2,e3…}

        2、直接生成一个Map对象:#{key1:value1,key2:value2,key3:value3…}

      对于集合类型,OGNL表达式可以使用in和not in 两个元素符号。其中,in表达式用来判断某个元素是否在指定的集合对象中;not in 判断某个元素是否不再指定的集合对象中。

      除了in 和not in 之外,OGNL还允许使用某个规则获得集合对象的子集,常用的有以下三个相关操作符:

               ?:获得所有符合逻辑的元素。

               ^ :获得符合逻辑的第一个元素。

               $ :获得符合逻辑的最后一个元素。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果账户扣了钱怎么办 苹果平板冲不进去电怎么办 qq红包输了钱怎么办 qq红包实名认证没有银行卡怎么办 扣扣红包发不了怎么办 qb充错账号了怎么办 q币冲错了号了怎么办 微信qb冲错号码怎么办 微信qb冲错了怎么办 qb冲到小号了怎么办 无意中充了q币怎么办 在绝地求生里打不开充值页面怎么办 电脑版迷你世界打不开怎么办 电脑的腾讯视频打不开怎么办 好多程序连不上网了怎么办 掌游宝炉石传说卡组复制不了怎么办 花呗不能充话费怎么办 想用话费充王者怎么办 苹果6s激活出错怎么办 联通话费充多了怎么办? 电信宽带充值充到别人账号了怎么办 未实名的支付宝钱转不出来怎么办 手机打游戏闪屏怎么办 支付宝手机冲错怎么办 手机停用了支付宝充值码怎么办 苹果手机桌面上找不到支付宝怎么办 苹果手机支付宝找不到了怎么办 微信上充话费没到账怎么办 冲q币不到账怎么办 支付宝冲话费没到帐怎么办 qq实名认证没有银行卡怎么办 微信零钱限额没有银行卡怎么办 qq钱包忘记支付密码怎么办 零钱包密码忘了怎么办 关爱通密码知道卡号忘了怎么办 卡号的密码忘了怎么办 银行卡号密码忘了怎么办 微信超出单月支付限额怎么办 行李箱三位数密码忘记了怎么办 手机忘记4位数密码怎么办 win7登入密码忘记了怎么办