13dwr - dwr.xml配置(signatures标签)

简介: 13dwr - dwr.xml配置(signatures标签)

DWR 使用反射机制在转换过程中找到它应该使用的类型。有时候类型的信息无法获得,在这种情况下你要

在此处用方法签名给予暗示。

signatures 段使 DWR 能确定集合中存放的数据类型。例如下面的定义中我们无法知道 list 中存放的是什么

类型。

public class Check {
public void setLotteryResults(List nos)
 {
 ...
 }
}

signatures 段允许我们暗示 DWR 应该用什么类型去处理。格式对以了解 JDK5 的泛型的人来说很容易理解。

<signatures>
<![CDATA[
 import java.util.List;
 import com.example.Check;
 Check.setLotteryResults(List<Integer> nos);
 ]]>
</signatures>

DWR 中又一个解析器专门来做这件事,所以即便你的环境时 JDK1.3 DWR 也能正常工作。

解析规则基本上会和你预想规则的一样(有两个例外),所以 java.lang 下面的类型会被默认 import。

第一个是 DWR1.0 中解析器的 bug,某些环境下不能返回正确类型。所以你也不用管它了。

第二个是这个解析器时"阳光(sunny day)"解析器。就是说它非常宽松,不想编译器那样严格的保证你一定正确。

所以有时它也会允许你丢失 import:

<signatures>
<![CDATA[
 import java.util.List;
 Check.setLotteryResults(List<Integer>);
 ]]>
</signatures>

将来的 DWR 版本会使用一个更正式的解析器,这个编译器会基于官方 Java 定义,所以你最好不要使用太

多这个不严格的东西。

signatures 段只是用来确定泛型参数中的类型参数。DWR 会自己使用反射机制或者运行时类型确定类型,

或者假设它是一个 String 类型。所以:

不需要 signatures - 没有泛型参数:

public void method(String p);
public void method(String[] p);

需要 signatures - DWR 不能通过反射确定:

public void method(List<Date> p);
public void method(Map<String, WibbleBean> p);

不需要 signatures - DWR 能正确的猜出:

public void method(List<String> p);
public void method(Map<String, String> p);

不需要 signatures - DWR 可以通过运行时类型确定:

public List<Date> method(String p);

没有必要让 Javascript 中的所有对象的 key 都是 String 类型 - 你可以使用其他类型作为 key。但是他们在使用之前会被转换成 String 类型。DWR1.x 用 Javascript 的特性把 key 转换成 String。DWR2.0 可能会用toString()方法,在服务段进行这一转换。


目录
相关文章
|
XML Java 数据格式
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
Spring 第二节内容补充 关于Bean配置的更多内容和细节 万字详解!
871 18
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
589 6
|
XML Java 应用服务中间件
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
通过一个HelloWorld实例,介绍了SpringMVC的基本概念、执行流程,并详细讲解了如何创建和配置第一个SpringMVC项目(基于XML)。
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
1359 8
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
687 5
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
763 5
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
494 4
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
389 0
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
400 1
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
401 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)

相关课程

更多