zoukankan      html  css  js  c++  java
  • 27.OGNL与ValueStack(VS)-获取Stack Context中的信息

    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html

    我们知道,除了可以从值栈中获取信息,还可以从Stack Context中获取信息,只是要加上#,下面我们通过scope对象来演示。首先是在LoginAction中增加如下字段:
    Map myRequest;
    Map mySession;
    随后再用前面提到的“在Action中获取Scope对象”的方式二来完成这些对象的初始化。即实现RequestAware和SessionAware接口。然后再在execute方法中增加如下内容:
    myRequest.put("req", "Req属性");

    mySession.put("ses", "Ses属性");
    最后在loginSuc.jsp中增加如下代码:
    获取Request属性:<s:property value="#request.req"/><br>

    获取Session属性:<s:property value="#session.ses"/><br>

    获取parameters属性:<s:property value="#parameters.mes"/>
    说明:我们获取这些对象都用了#,因为这些对象都是存在一般的Context Map中,而不是存在值栈中。别最后一个信息的获取是因为我们在login.jsp中增加了如下代码:
    <input type="hidden" name="mes" value="the message is transfer by hidden">
    关于这些scope的更多信息可以参看下表:

    名称

    作用

    例子

    parameters

    包含当前HTTP请求参数的Map

    #parameters.id[0]作用相当于request.getParameter("id")

    request

    包含当前HttpServletRequest的属性(attribute)的Map

    #request.userName相当于request.getAttribute("userName")

    session

    包含当前HttpSession的属性(attribute)的Map

    #session.userName相当于session.getAttribute("userName")

    application

    包含当前应用的ServletContext的属性(attribute)的Map

    #application.userName相当于application.getAttribute("userName")

    Attr

    用于按request > session > application顺序访问其属性

    #application.userName相当于application.getAttribute("userName")

  • 相关阅读:
    Java异常简介
    Java中的接口
    Java中的抽象类
    Java的多态
    关于this
    面向对象的继承方式详解
    1像素边框问题
    HTML5之本地存储SessionStorage
    js数组去重的4个方法
    前端模块化
  • 原文地址:https://www.cnblogs.com/sharpest/p/5582891.html
Copyright © 2011-2022 走看看