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(...);
设置值:
取值:
#request 请求作用域中的数据 request.getAttribute(...);
设置值:
取值:
#session 会话作用域中的数据 session.getAttribute(...);
设置值:
取值:
#application 应用程序作用域中的数据 application.getAttribute(...);
设置值:
取值:
#attr 按照 page request session application 顺序查找值
取值:
原码:
Struts.xml
web.xml
HelloAction.java
success.jsp
三、OGNL访问复杂对象
1、访问 javaBean 对象;
Student.java
设置值:
取值:
2、访问集合对象;
设置值:
取值:
3、访问 Map 对象;
设置值:
取值:
原码:
succes.jsp
web.xml
struts.xml
HelloAction.java
四、OGNL访问静态方法和属性
1、访问静态属性;
设置:
获取:
2、访问静态方法;<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
设置:
获取:
原码:
MyStatic.java
ognl_static.jsp
struts.xml
添加小编微信(y19970821ywty)可以获取工具,二维码
以上是关于Struts2复习之值栈与OGNL的主要内容,如果未能解决你的问题,请参考以下文章
初学者易上手的SSH-struts2 04值栈与ognl表达式