Struts2入门教程:配置与类型转换解析

需积分: 10 4 下载量 165 浏览量 更新于2024-07-31 收藏 1.89MB DOC 举报
Struts2是一个强大的MVC框架,它在Java Web开发中被广泛应用。该框架的主要目标是简化应用程序的构建,提供一种组织代码和控制流程的方式。在Struts2的学习文档中,我们可以深入理解其核心概念和配置。 一、Struts2入门与配置 1. **依赖包**:在开始Struts2项目时,需要将必要的jar包添加到项目的lib目录下,如`commons-logging-1.0.4.jar`、`freemarker-2.3.8.jar`、`ognl-2.6.11.jar`、`struts2-core-2.0.11.jar`和`xwork-2.0.4.jar`。这些库文件是Struts2运行的基础。 2. **Web.xml配置**:在`web.xml`文件中,使用过滤器方式配置Struts2,通过指定`filter-class`为`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`来启用框架。 3. **Struts.xml配置**:这是Struts2的核心配置文件,通常放在`src`目录下,用于定义Action、结果和拦截器等。`<action>`标签定义了Action的名称和处理类,`<result>`标签则定义了请求成功后的转向页面。`<package>`用于组织Action,可继承其他包以重用配置。 二、Action类与Execute方法 1. **Action类**:每个业务逻辑通常对应一个Action类,比如`LoginAction`,它有一个`execute`方法,这是Struts2默认调用的方法。客户端提交的数据会通过setter方法自动注入到Action的属性中。 2. **数据校验**:为了进行数据验证,Action类通常会继承`ActionSupport`,并重写`validate`方法。当验证失败时,框架会自动跳转到`input`指定的页面。 三、命名空间与Action访问 Struts2使用命名空间(namespace)来管理Action,避免Action名称冲突。如果命名空间非默认,访问Action时需在URL中加上命名空间路径。 四、JSP页面与Struts2标签 1. **Struts2标签库**:在JSP页面中,使用Struts2标签可以简化代码,例如`<s:textfield>`、`<s:submit>`等。这些标签具有自动回填数据的功能,并且默认以`.action`结尾。 2. **EL表达式**:由于Struts2使用请求转发,所以在页面上可以直接使用EL表达式获取Action中的属性值。 五、类型转换 Struts2提供自动类型转换机制,当客户端提交的数据需要转换为特定类型时,Struts2会检查属性是否有对应的转换器。开发者也可以自定义转换器,通过在`struts.xml`中配置`ConversionProperties`来指定。 六、Struts2拦截器 拦截器是Struts2的一个重要特性,它允许在Action执行前后插入自定义逻辑。默认配置的`struts-default`包已经包含了多个拦截器,如`params`(处理请求参数)、`validation`(执行数据验证)等。 七、结果类型 Struts2支持多种结果类型,如`dispatcher`(默认,用于转发到JSP页面)、`redirect`(重定向)等。开发者可以根据需求在`<result>`标签中指定。 Struts2提供了一套完整的MVC架构,通过配置文件、Action、拦截器、类型转换等机制,使得Java Web开发更加规范和高效。通过深入学习和实践,开发者能够更好地理解和应用这个框架。