• ognl表达式


    OGNL(Object Graphic Navigation Language)对象图导航语言。Struts2框架使用ognl作为默认的表达式语言。

      作用:取值,获取JavaBean中的属性,获取List或者数组元素,获取Map的键值对,还可进行逻辑运算

    一、ognl对普通方法的调用

      <s:properties value = "   " /> “ ” 内部是ognl表达式   value中字符串需要用单引号,可以使用API

    二、ognl对静态变量和静态方法的调用

      如果时静态方法,首先都要开启静态使用,在struts.xml中配置   <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>

      调用时 使用   @类的全路径@[静态变量或者静态方法]    <s:property value="@java.lang.Math@abs(-100)"/>

    三、ActionContext

           其中包含两个部分,一个是StackValue   一个是contextMap:application、session、request、action、parameters、attr

      1、在contextMap中存储数据

        先根据ServletActionContext获取到ActionContext对象ac.   ac.put(String name  , Object obj  );

         //获得动作类的上下文ActionContext包含了contextmap和valuestack
            ActionContext ac = ServletActionContext.getContext();
            //在contextmap中存储数据,默认的相当于request,因为ActionContext的生命周期和request一样都是一次请求
            ac.put("name", "zhangsan");
         //把数据存储在会话范围
            ac.getSession().put("user", "李四");

       在页面中取数据  <s:property value="#name"/>    <s:property value="#session.user"/>

       2、在值栈中存取数据

        请求传递的参数存储在值栈中,同事把Action对象也压入栈中,属性对象在上,Action对象在下,所有对象的值既可以从栈顶取出,也可以通过Action对象中的属性取出

      

  • 相关阅读:
    4.文本编辑器vi的简单实用与指针介绍
    3.理解make命令——编译源文件安装
    2.换一种方式理解linux命令行
    1.linux环境搭建
    Tomcat 何时解压war包
    正则表达式8---再谈小括号
    利用vue-resource模拟百度下拉列表
    那些年iframe的坑(一)
    $nextTick()的理解
    一个超简单的vue商品计算总金额
  • 原文地址:https://www.cnblogs.com/cat-fish6/p/8648513.html
Copyright © 2020-2023  润新知