• 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")

  • 相关阅读:
    UVA 10820
    Theano 在windows下安装
    [置顶] 扩展方法入门
    Hdu 3887 Counting Offspring Poj 3321 Apple Tree BZOJ 1103 [POI2007]大都市meg
    win7在USB该解决方案不健全音箱
    java堆 (转)
    王立平--android这四个组成部分
    malloc功能具体解释
    楼塔当天领袖acm心理(作为励志使用)
    Lua学习 2) —— Android与Lua互调
  • 原文地址:https://www.cnblogs.com/sharpest/p/5582891.html
Copyright © 2020-2023  润新知