gpt4 book ai didi

java - 将 null 从 Javascript 传递到 Java 类时 DWR 报告转换器错误

转载 作者:行者123 更新时间:2023-11-29 18:27:52 25 4
gpt4 key购买 nike

在我的 Java EE Web 应用程序中,我为 Ajax 使用 DWR(直接 Web 远程处理)。

Java 类有许多 int 成员,可以通过 DWR 将其转换为 JavaScript 对象。例如:

// Java
public class MyClass {

private int id;
private String comments;
}

// the converted JavaScript class
var myObject = {
id: 100,
comments: "hello world"
}

但是,当我尝试向应用服务器发送id为null的js对象时,DWR报如下异常:

Erroring: batchId[7] message[org.directwebremoting.extend.MarshallException: Error marshalling int: Format error converting null. See the logs for more details.]

任何人都可以提供任何想法吗?

最佳答案

在Java中,int是值类型,不是引用类型。因此,它永远不会被赋予值 null。另一方面,Javascript 使用动态类型。每个变量都可以更改其类型,因此您可以将 null 分配给所有内容。DWR 处理产生错误的情况。

您有多种选择:

如果您需要处理这个值在服务器端可以为 null 的事实(看起来就是这种情况),您可以使用引用类型,例如 Integer,而不是整数。否则,只需确保始终为 Javascript idmember

分配一个值

另一个选项:如果 javascript 对象的值丢失,DWR 可能允许分配一个默认值。

关于java - 将 null 从 Javascript 传递到 Java 类时 DWR 报告转换器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11255107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com