Struts2教程:OGNL表达式语言详解与应用

需积分: 3 6 下载量 24 浏览量 更新于2024-08-18 收藏 174KB PPT 举报
"OGNL表达式语言-strus2教程" 本文主要介绍了OGNL(Object Graphic Navigation Language),这是一种在Struts 2框架中广泛使用的表达式语言。OGNL的强大之处在于它支持对象方法调用、类静态方法调用和值访问,以及操作集合对象等功能,为开发者提供了更丰富的表达能力。 首先,OGNL允许我们直接调用对象的方法,例如`xxx.sayHello()`,这在处理业务逻辑时非常有用,可以方便地与Java对象进行交互。同时,它还支持类静态方法的调用和值访问,通过表达式`@[类全名(包括包路径)]@[方法名 | 值名]`,比如`@java.lang.String@format('foo %s', 'bar')`和`@cn.itcast.Constant@APP_NAME`,这样可以方便地访问和调用任何静态方法或获取静态属性的值。 Struts 2框架是基于XWork库构建的,因此在开发Struts 2应用时,除了核心的`struts2-core-2.0.x.jar`之外,还需要包含`xwork-2.0.x.jar`。此外,OGNL作为Struts 2的默认表达式语言,所以`ognl-2.6.x.jar`是必不可少的。另外,Struts 2的视图层使用了FreeMarker模板引擎,因此需要`freemarker-2.3.x.jar`。为了记录日志,需要`commons-logging-1.0.x.jar`,它允许Struts 2支持Log4J和JDK 1.4+的日志记录。 对于Struts 2的集成,如果不需要与其他第三方框架结合,只需将不带-plugin后缀的jar文件添加到类路径。如果需要集成,例如与Spring框架集成,还需要包含对应的插件jar,如`struts2-spring-plugin-2.x.x.jar`。 在Struts 2框架的启动配置方面,与Struts 1.x不同,Struts 2不再使用Servlet,而是通过Filter启动。在`web.xml`配置文件中,需要定义一个名为`struts2`的过滤器,并指定其类为`org.apache.struts2.dispatcher.FilterDispatcher`。该过滤器会在初始化时读取默认的`struts.xml`配置文件,完成初始化工作,对所有的HTTP请求进行拦截和处理。 OGNL作为Struts 2的默认表达式语言,极大地增强了框架的灵活性和表达能力。而Struts 2框架本身则依赖于一系列的jar文件,通过Filter启动并管理应用的生命周期。了解这些基础知识对于开发和维护Struts 2应用至关重要。