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>
浙公网安备 33010602011771号