Struts2复习之值栈与OGNL

Posted Java学习之乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2复习之值栈与OGNL相关的知识,希望对你有一定的参考价值。

今日目录

    1、值栈简介

    2、OGNL引入

    3、OGNL访问复杂对象

    4、OGNL访问静态方法和属性


一、值栈简介

        值栈是对应每个请求对象的一套内存数据的封装,Struts2 会给每个请求创建一个新的值栈。

        值栈能够线程安全地为每个请求提供公共的数据存取服务。


二、OGNL引入

        OGNL 是对象图导航语言 Object-Graph Navigation Language 的缩写,它是一种功能强大的表达式语言。

        OGNL 访问 ValueStack 数据

        <s:property value=”account” />

        OGNL 访问 ActionContext 数据

        访问某个范围下的数据要用#

        #parameters 请求参数 request.getParameter(...);

设置值:

取值:

Struts2复习之值栈与OGNL

        #request 请求作用域中的数据 request.getAttribute(...);

设置值:

Struts2复习之值栈与OGNL

Struts2复习之值栈与OGNL

取值:

Struts2复习之值栈与OGNL

        #session 会话作用域中的数据 session.getAttribute(...);

设置值:

Struts2复习之值栈与OGNL

取值:

Struts2复习之值栈与OGNL

        #application 应用程序作用域中的数据 application.getAttribute(...);

设置值:

Struts2复习之值栈与OGNL

取值:

Struts2复习之值栈与OGNL

        #attr 按照 page request session application 顺序查找值

取值:

Struts2复习之值栈与OGNL

原码:

Struts.xml

Struts2复习之值栈与OGNL

web.xml

Struts2复习之值栈与OGNL

HelloAction.java

Struts2复习之值栈与OGNL

success.jsp

Struts2复习之值栈与OGNL

三、OGNL访问复杂对象

        1、访问 javaBean 对象;

Student.java

Struts2复习之值栈与OGNL

设置值:

Struts2复习之值栈与OGNL

取值:

Struts2复习之值栈与OGNL

        2、访问集合对象;

设置值:

Struts2复习之值栈与OGNL

取值:

Struts2复习之值栈与OGNL

        3、访问 Map 对象;

设置值:

Struts2复习之值栈与OGNL

取值:

Struts2复习之值栈与OGNL

原码:

succes.jsp

Struts2复习之值栈与OGNL

web.xml

Struts2复习之值栈与OGNL

struts.xml

Struts2复习之值栈与OGNL

HelloAction.java

Struts2复习之值栈与OGNL


四、OGNL访问静态方法和属性

        1、访问静态属性;

设置:

Struts2复习之值栈与OGNL

获取:

Struts2复习之值栈与OGNL

        2、访问静态方法;<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>

设置:

Struts2复习之值栈与OGNL

获取:

Struts2复习之值栈与OGNL

原码:

MyStatic.java

Struts2复习之值栈与OGNL

ognl_static.jsp

Struts2复习之值栈与OGNL

struts.xml

Struts2复习之值栈与OGNL

添加小编微信(y19970821ywty)可以获取工具,二维码



以上是关于Struts2复习之值栈与OGNL的主要内容,如果未能解决你的问题,请参考以下文章

初学者易上手的SSH-struts2 04值栈与ognl表达式

struts框架值栈问题二之值栈的内部结构

struts框架值栈问题三之值栈的创建和ActionContext对象的关系

struts2值栈分析

Struts2中的值栈

Struts2-从值栈中获取数据-EL表达式从值栈获取