Struts2配置详解:核心常量与文件上传设定

需积分: 10 2 下载量 153 浏览量 更新于2024-09-22 收藏 68KB DOC 举报
"Struts2的常量详解" Struts2是一个强大的MVC框架,它提供了丰富的功能和可配置性。框架中的常量是控制Struts2行为的关键元素,通过设置这些常量,开发者可以定制Struts2的工作方式以满足特定项目需求。下面将详细解析Struts2的一些重要常量。 1. `struts.configuration` 这个常量定义了Struts2配置文件的加载方式。默认值`org.apache.struts2.config.DefaultConfiguration`是Struts2内置的配置管理器,用于处理`.xml`配置文件。如果需要自定义配置管理器,开发者可以创建一个实现`Configuration`接口的类,以实现对配置文件的个性化加载。 2. `struts.locale` 此常量设置Web应用程序的默认区域设置(Locale)。通过更改此属性,可以确保Struts2按照指定的语言和文化规则进行显示。例如,设置为`zh_CN`将使应用以简体中文显示。 3. `struts.i18n.encoding` 这个常量定义了Web应用的默认字符编码。对于处理包含中文字符的请求参数至关重要。将其设置为`GBK`或`GB2312`可以确保正确解码中文请求数据。需要注意的是,设置此属性相当于调用`HttpServletRequest`的`setCharacterEncoding`方法。 4. `struts.objectFactory` 指定了Struts2使用的默认`ObjectFactory`。默认值为`spring`,意味着使用Spring框架的`ObjectFactory`。`ObjectFactory`负责创建和管理Action以及其他对象。 5. `struts.objectFactory.spring.autoWrite` 控制Spring框架的自动装配模式。默认值`name`表示基于Bean的名称进行自动装配。其他可能的设置包括`none`,禁止自动装配,或者`full`,进行更全面的装配。 6. `struts.objectFactory.spring.useClassCache` 如果设为`true`,Spring整合时会缓存Bean实例,提高性能。默认值即为`true`,但不推荐随意修改,因为可能影响到依赖注入的灵活性。 7. `struts.objectTypeDeterminer` 这个常量决定Struts2如何确定对象类型。`tiger`和`notiger`两个值分别对应Java 5之前和之后的类型推断机制。 8. `struts.multipart.parser` 该常量定义了处理`multipart/form-data`请求(通常涉及文件上传)的策略。可选值有`cos`(使用Cos库)、`pell`(使用Pell库)和`jakarta`(使用Apache Commons FileUpload库)。默认值是`jakarta`。选择不同的解析器可能需要引入相应的库JAR文件。 9. 关于文件上传: - 使用`cos`或`pell`解析器时,需要将对应的JAR文件添加到Web应用的`WEB-INF/lib`目录下。例如,选择`cos`解析器就需要添加Cos库的JAR文件。 理解并合理配置这些Struts2常量,能帮助开发者更好地控制框架的行为,优化应用的性能和国际化,以及实现与Spring等其他框架的无缝集成。在实际开发中,应根据项目需求灵活调整这些常量的值。