OGNL概述
1,ognl是一种表达式,
(1)在Struts2中操作值栈数据
(2)一般把ognl和Struts2标签一起使用,操作值栈。
2,ognl不是Struts2的一部分,单独的项目,只是经常和Struts一起使用
(1)使用ognl首先需要导入相关jar包,一般在官方给的小demo里面的jar包里就已经导入了
注意:html注释。注释不了ongl标签
,如果注释中有ongl标签会产生错误,可以用jsp注释<%-- --%>。
2,拦截器是在action创建之后,执行之前运行的。
拦截器底层原理:
aop思想:不修改源代码来扩展功能
拦截器只能拦截action
过滤器基本都能过滤
session每次调用都执行。
配置action和拦截器
(1) 声明拦截器
(2)在具体action中使用
(3)自定义拦截器之后,默认拦截器就不会再调用。需要再次调用。(需要使用默认拦截器的时候)
3.配置拦截器,对action中每个方法都拦截。这样登录的方法也会被拦截,就永远无法登录了
在自定义的拦截器里面配置action里面的某些方法不被拦截
若是拦成功,就让它进入登录页面,但是可能会在局部出现登录成功后的完整页面,解决方法:
在form表单中设置打开位置,target属性,属性值为:_parent 这样就会在父标签中打开
常用标签:
s:property :和ognl表达式在jsp页面中获取值栈数据
s:iterator : 获取值栈list集合数据,表示list集合
s:debug : 查看值栈结构和数据
Struts2表单标签