随便写写05

===============================================
--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要操作的对象


===================================================

走在一起是缘分,在一起走是幸福; 在一起走是缘分,走在一起是幸福
原文地址:https://www.cnblogs.com/tarena/p/3624536.html