zoukankan      html  css  js  c++  java
  • 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对象中的属性取出

      

  • 相关阅读:
    slf4j简介(一)
    Spring Framework--AOP(1)--
    Spring Framework--Data Access(1)--Transaction Management(2)
    Spring Framework--Data Access(1)--Transaction Management(2)
    Spring Framework--Data Access(1)--Transaction Management(1)
    Spring Framework--Ioc Container(1)--Dependencies(2)--depends-on、lazy-init、autowire、mothod injection
    车票100–火车票接口开发文档
    SAE AppConfig的重定向和Url重写
    MySQL Order By Rand()效率
    面试时应该如何应答?
  • 原文地址:https://www.cnblogs.com/cat-fish6/p/8648513.html
Copyright © 2011-2022 走看看