===============================================
--ActionInvocation类封装了Action调用过程中所需要的一切API
--访问session,可以通过实现SessionAware接口(
不推荐使用ActionContext访问Session的方式,因为这种方式的“侵入式”较强:
ActionContext
ctx =ActionContext.getContext();
Map<String ,Object> session
=ctx.getSession(); )
--request 对应ServletRequestAware
? --response 对应ServletResponseAware
? --session 对应SessionAware
? --application 对应ServletContextAware
====================================================
1.我们编写的action类可以是普通的java类,也可以实现action接口,又或者继承ActionSupport类(因为ActionSupport类实现了action接口)
2.我们写拦截器(自定义)的目的--是为了扩展Struts2 的功能;增加通用性功能(拦截器不会写在业务里面,不是针对某个项目二自定义)
====================================================
EL表达式翻译为Java代码的含义
--${foo.name} --翻译为Java代码是out.print(foo.getName());
EL 表达式是干什么用的?
--EL 表达式把数据从四个范围 (pageContext、request、session、application
)中取出来显示或者计算。
--EL 表达式解决了Java 代码和 HTML 的不匹配问题(让html 页面中不再有java 代码)。
--EL 表达式用字符串表达式替换Java 代码,用来表示对数据的获取或计算。
**注意** <-- isELIgnored(是否忽略表达式)
OGNL是干什么的?---》OGNL 和
EL相似,但功能更加强大
--给ognl引擎一个字符串(ognl表达式),可以让ognl引擎去读取和设置对象的属性
Ognl引擎访问对象的格式:
Ognl.getValue("OGNL表达式",root对象);//root对象时Ognl要操作的对象
===================================================
原文:http://www.cnblogs.com/tarena/p/3624536.html