zoukankan      html  css  js  c++  java
  • struts2框架详解

    "map对象.key" key不能是纯数字内容。
    "map对象['key']" key可以数字或者字符串。

    • Ognl从context区域获取数据
      重点: context区域是一个map结构
      · key是字符串、value对象类型
      语法: Ognl表达式: "#key" context中map的value
      测试方法: Ognl.getValue("ognl表达式",放入context区的map,root对象);

    6).OGNL表达式-值栈(ValueStack)、Struts2值栈的使用+Struts2标签库[重点]

    (1)值栈 ValueStack(类名)

    作用:
    封装ognl的root和context
    使用Ognl表达式访问值栈内部root区中的对象,context中map的key对应的value
    值栈相关api:

    • 获得值栈对象
      ValueStack vs = ActionContext.getContext().getValueStack();
    • 获得root(栈)
      CompoundRoot root = vs.getRoot();
    • 向root中存入对象
      root.push(作为root对象);
    • 获得context
      Map<String,Object> context = vs.getContext();
    • 如果想context中存入数据
      context.put("key",值);
    • 值栈对象提供方法 vs.findValue("ognl表达式"), 使用ognl获得值栈中的数据。
      获取root区属性值: vs.findValue(“对象属性”);
      获取ContextMap区value: vs.findValue(“#key”);

    (2)Struts2值栈的使用+Struts2标签库[重点]

    Struts2对值栈的管理

    ①值栈:

    Context区(数据结构 Map)[重点]
    "request" RequestMap(相当于HttpServletRequest作用域)
    "session" SessionMap(相当于HttpSession作用域)
    "application" ApplicationMap(相当于ServletContext作用域)

    Root区(数据结构 栈 Stack)
    将当前的Action对象放在root区栈顶。

    ②struts2标签库:

    使用:
    a.引入标签库:<%@taglib uri="/struts-tags" prefix="s" %>
    b.使用property标签:<s:property value="ognl表达式"></s:property>
    作用:
    a.执行ognl获得数据
    b.将结果展示给浏览器

    总结:

    a. 向RequestMap中存入值
    Map<String,Object> requestMap = (...)vs.getContext().get("request");
    requestMap.put("名字key",值);

  • 相关阅读:
    Python字符串
    MySQL触发器
    MySQL 1418报错解决办法
    数据库下载
    补码与反码
    二、八、十六进制之间的转换
    this 指向
    作用域 var 词法分析 arguments
    事件绑定的3种方式
    清浮动方法小结
  • 原文地址:https://www.cnblogs.com/linanana/p/12552665.html
Copyright © 2011-2022 走看看