DWR配置详解:Dwr.xml设置与转换规则

需积分: 10 1 下载量 146 浏览量 更新于2024-09-12 收藏 119KB PDF 举报
"Dwr.xml配置文件说明书" Direct Web Remoting (DWR) 是一个Java库,它允许在浏览器和服务器之间进行实时的双向通信,即AJAX应用中的关键组件。`dwr.xml`配置文件是DWR的核心配置,用于定义哪些Java对象可以被暴露给JavaScript以及如何进行对象转换。下面是对`dwr.xml`配置文件的详细解释。 1. **配置文件的基本结构** - `<!DOCTYPE>`声明:DWR配置文件开始时,需要声明DTD(文档类型定义),这确保了XML文件遵循正确的结构。例子中的DTD链接指向DWR 1.0的定义。 - `<dwr>`元素:这是配置文件的根元素,包含所有其他配置信息。 - `<allow>`元素:这个元素定义了哪些Java对象可以被远程调用。所有的`create`和`convert`配置都应放在`<allow>`标签内。 2. **允许创建(Create)** - `<create>`元素:用于指定一个Java对象或Spring Bean可以被JavaScript访问。`creator`属性可以是"spring"或"new",前者表示从Spring容器中获取对象,后者表示直接实例化Java类。`javascript`属性定义了在JavaScript中访问该对象的名称,`scope`可以是"session"或"request",定义对象的生存范围。`<param>`元素用于传递参数,例如Spring Bean的ID。 3. **方法包含(Include Methods)** - `<includeMethod>`:此元素指定JavaScript可以调用的Java对象的特定方法。不包括这个元素,DWR会默认暴露所有公共无参方法。 4. **对象转换(Conversion)** - `<convert>`元素:用于定义Java对象如何被转换为JavaScript可理解的格式。`convertor`属性指定了转换器类型,而`match`属性匹配需要转换的类。DWR默认支持多种基本类型及其包装类,数组,集合,日期等的转换。 5. **转换器(Converters)** - `null`转换器:DWR默认将Java的`void`值转换为JavaScript的`null`。如果需要处理`java.lang.Void`类型,也可以添加类似的转换配置。 6. **默认转换** - 默认情况下,DWR自动处理基本类型、其包装类、字符串、日期以及它们的数组和集合。这意味着你通常不需要为这些类型显式配置转换器。 在配置`dwr.xml`时,要确保只公开必要的对象和方法,以避免安全问题。同时,正确配置转换器以确保数据在Java和JavaScript之间能正确地序列化和反序列化。配置文件的精细调整可以帮助优化性能和提高应用程序的健壮性。