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()方法,在服务段进行这一转换。


目录
相关文章
|
11天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
64 8
|
2月前
|
XML Java 数据格式
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
Spring 第二节内容补充 关于Bean配置的更多内容和细节 万字详解!
216 18
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
|
2月前
|
XML Java 应用服务中间件
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
通过一个HelloWorld实例,介绍了SpringMVC的基本概念、执行流程,并详细讲解了如何创建和配置第一个SpringMVC项目(基于XML)。
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
|
1月前
|
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(一)
151 5
|
1月前
|
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(二)
88 4
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
77 4
|
1月前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
80 0
|
2月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
44 1
|
1月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
59 1
|
3月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)