Struts2 请求数据封装与 OGNL 基础教程

需积分: 0 0 下载量 158 浏览量 更新于2024-09-03 收藏 1.58MB DOCX 举报
"这篇文档是关于Struts2框架的基础知识总结,主要涵盖了请求数据封装、OGNL基本语法、Struts2表单验证以及自定义类型转换器等内容,适合个人复习和学习使用。" **1. Struts2的请求数据封装** 在Struts2中,有多种方式对请求数据进行封装: - **普通属性驱动(参数拦截器)**:Struts2通过参数拦截器自动将请求参数绑定到Action类的属性上,简化了数据处理过程。 - **JavaBean属性驱动**:当Action类的属性与请求参数一一对应时,可以直接通过JavaBean的方式来封装请求数据,例如`Domain.User.java`和`Demo2Action.java`。 - **模型驱动封装**:在界面文本框较多或者需要处理复杂对象时,可以采用模型驱动,将User对象视为一个实体,简化视图和模型之间的数据交互。 **2. Struts2的国际化** 实现Struts2的国际化,需要确保文件名一致,例如`struts.properties`或`struts.xml`中配置的资源文件路径,如`Value路径是src下的路径(不包括src)`。JSP页面可以通过Struts2标签来使用国际化资源,同时在Action类中也可以访问这些资源。 **3. 自定义类型转换器** Struts2默认支持某些类型的自动类型转换,但对日期格式有一定的限制。若需支持其他格式,可以自定义类型转换器: - 第一种方法:通过在Action类目录下创建转换器配置文件,如`Demo1Action-conversion.properties`,并在其中指定日期格式。 - 第二种方法:直接配置Struts2的核心配置文件`struts.xml`,声明自定义的类型转换器。 **4. OGNL(Object-Graph Navigation Language)基本语法** - OGNL是一门强大的表达式语言,可以访问和操作对象的属性,调用方法等。 - 它是Struts2框架的默认表达式语言。 - 在Struts2中使用OGNL表达式,通常通过Struts2的标签实现,如`<s:property>`,表达式语法为`%{OGNL表达式}`。 - OGNL表达式查找数据的范围是`OgnlContext`,这是一个类似Map的数据结构,是Struts2数据交互的核心。 **5. ActionContext** `ActionContext`是Struts2中用于操作`ContextMap`的工具类,它提供了存取`ContextMap`对象数据的方法,是处理请求和响应之间数据交换的关键组件。 以上就是Struts2框架中涉及的一些基础知识,包括请求数据处理、国际化、自定义类型转换器以及OGNL表达式的应用,这些都是理解和使用Struts2框架的基础。