zoukankan      html  css  js  c++  java
  • struts2 之 ognl

    1. ognl:object graph navigation language:对象导航图语言。
    2. ognl表达式在struts2中有2个作用:表达式语言,类型转换。

      实例如下:

    public class OgnlDemo {
        public static void main(String[] args) throws OgnlException {
            //ognl表达式的思想:把数据分为两类:常用的和不常用的。
            //常用的数据一般都是小数据,不常用的数据一般都是大数据。
            //将不常用的数据放在map中
            Map<String,Object> map = new HashMap<String,Object>();
            map.put("school", "sxt");
            map.put("address", "山东菏泽");
            //常用的数据
            User user = new User();
            user.setAge(23);
            user.setName("张三疯");
            Role role = new Role();
            role.setName("管理员");
            user.setRole(role);
            //第一个参数 是ognl表达式  第二参数是ognl上下文(不常用的数据) 第三个参数是ognl的根(常用的数据)
            //表达式的写法:常用的数据直接获取  不常用的数据加#获取
            Object result = Ognl.getValue("#address", map, user);
            System.out.println(result);
            
        }
    }

    3 . 在struts2中使用ognl表达式来完成数据的设置及获取。并且使用ognl来完成类型转换工作。在struts2中ActionContext对象是ognl的上下文对象,ValueStack是ognl的根对象。ValueStack放的是Action对象的属性。

    4.在struts2使用ognl表达式来获取值,需要使用struts2的标签库:

    实例如下:

    <%@taglib prefix="s" uri="/struts-tags"%>
    欢迎<s:property value="username"/>进行系统<br>
    欢迎<s:property value="#request.username"/>进行系统<br>
    
    <s:iterator value="list" var="bean">
          <tr>
              <td><s:property value="#bean.id"/></td>
              <td><s:property value="#bean.name"/></td>
              <td><s:property value="#bean.age"/></td>
          </tr>
          </s:iterator>

    5. 在struts2使用ognl访问数据的方式总结:

    6.使用Struts 标签注意事项:

      (a)使用struts 的标签必须要经过核心过滤器。

      (b)Struts2提供的标签库比较全面,但是不灵活,所以使用比较少。

  • 相关阅读:
    测试一个纸杯需要考虑什么?
    第三十三天-rsync高级同步工具深度实战
    运维人员必须熟悉的运维工具汇总
    Mysql 高负载排查思路
    查看mysql主从配置的状态及修正 slave不启动问题
    第三十二天-rsync高级同步工具基础
    第三十一天-两个例题
    linux mail 命令参数
    第三十天-ssh key企业批量分发自动化管理案例
    第二十九天-ssh服务重要知识深入浅出讲解
  • 原文地址:https://www.cnblogs.com/forever2h/p/6710141.html
Copyright © 2011-2022 走看看