struts2 day03

Posted on 2018-05-07 21:01  _wahaha  阅读(95)  评论(0)    收藏  举报

1 拦截器执行流程  UML(时序图)

 启动 创建所有拦截器,执行init()----访问 先创建Action 再执行拦截器  最后拦截器放行,执行execute()方法nl

2 ognl 表达式语言   ognlContext对象是ognl表达式语言的核心   Valuestack 对象 即值栈对象 struts2标签的取值就是使用了ognl表达式语言 object graphic navigation·language  开源项目, struts2框架使用ognl作为默认的表达式语言(引入ognl jar包) 作用是为了页面取值用  EL表达式语言用于jsp页面  (不需nl要引入jar包 )  ognl必须配置struts标签用  EL应用范围更广ognl有一个上下文(context)概念 说白了是一种Map结构 实现了java.util.Map的接口

3 非根元素的取值必须要用#   类似于#user.id  根元素取值 则直接写属性值或者对象.属性值

  ognl 对静态方法调用的支持 @类@方法  如@Math@floor(10.6)

4 ognl 表达式与ValueStack 对象的关系   ValueStack 是struts 数据中转站 是struts数据存储的中心  (Action 对象注入) valuestack---request---jsp页面   开发者只要通过ActionStack对象就能访问struts的其他关键对象   值栈贯穿了整个Action的生命周期   获取值栈对象的两种方式 一直接从ActionContext中 getValueStack 二 从ActionContext中获取request 对象 从中获取值栈对象。

5 struts调试标签,可以观测值栈数据<s:debug></s:debug>

 

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3