当前位置: 首页 > 知识库问答 >
问题:

Groovy:无法从java设置属性

乐正迪
2023-03-14

我正在开发一个Grails应用程序。我有一个带有一些属性的Groovy bean。我试图使用setter方法实例化和设置Java类中的一些属性。虽然我没有任何错误,但属性不包含任何值。我尝试在调试模式下查看对象内容:groovy对象包含1个唯一字段(r$fields),其中包含一个空的HashMap。

新潮豆

import java.time.LocalDateTime;

import groovy.transform.ToString;

@ToString(includeNames = true, ignoreNulls = true)
class Article {

    String id
    String modelId
    String ean
    String deepUrl

    LocalDateTime lastUpdate
}

Java代码

a = new Article();
a.setId("123");
a.setModelId("456");
a.setEan("789");
a.setLastUpdate(LocalDateTime.now(Clock.systemUTC()));

添加a.toString()作为Java代码中的最后一条语句,我得到以下NPE

Stacktrace如下:java。组织中的lang.NullPointerException。科德豪斯。非常棒。运行时。调用站点。PogoMetaClassSite。在org上调用(PogoMetaClassSite.java:39)。科德豪斯。非常棒。运行时。调用站点。CallSiteArray。org上的defaultCall(CallSiteArray.java:45)。科德豪斯。非常棒。运行时。调用站点。AbstractCallSite。在org上调用(AbstractCallSite.java:108)。科德豪斯。非常棒。运行时。调用站点。AbstractCallSite。调用(AbstractCallSite.java:112)

共有1个答案

赵骏奇
2023-03-14

我找到了这个问题的解决方案,但我真的不明白原因。问题与变量deepUrl有关。当代码被移除时,它会成为一种魅力。我在groovy web控制台上对其进行了测试,效果良好*https://groovyconsole.appspot.com/script/5656619568332800). 这是否与grails有关?

 类似资料:
  • 有一个错误,其中登录的用户将尝试更新他们的帐户用户名,但遇到一个错误。在我的一生中,我无法弄清楚为什么有时(可能有1/20的用户遇到这种情况)找不到当前的用户。只有登录后,用户才能访问此页面。错误有: 投掷;//未处理的“错误”事件 TypeError:无法设置null的属性“username” 错误似乎发生在这里:user.username=req.body.username;

  • 我正在尝试执行以下操作以避免稍后未选中的转换: 强制取消行上未选中得强制转换: 我如何做到这一点而不需要抑制?

  • 问题内容: 为什么会出现错误或未捕获的TypeError:无法将属性’innerHTML’设置为null?我以为我了解innerHTML并在以前使用过。 问题答案: 您必须将div放在脚本之前,以便在加载脚本时该div存在。

  • 为什么我会得到一个错误或未捕获的TypeError:不能设置null的属性'innerhtml'?我以为我了解innerHTML并且在此之前使用过它。

  • 我有一个简单的html页面,在body标记中没有代码。我想通过JavaScript在body标记中插入html。 我的javascript文件如下所示。 现在我想要这个很长的html代码在页面加载时自动插入到body标记中。但它给了我我在标题中提到的错误。为什么? 而且这也是创建基于ajax的网站的正确方法吗(不重新加载页面),这意味着如果我调用服务器端脚本来更新这个很长的html代码并将其附加到

  • 问题内容: 我有一个具有许多可设置/可获取的属性的类。我想使用 反射 来设置这些属性,但是我对实现有两个问题 这是我班上的一些简化代码 然后,我像这样设置各个字段: 这有效(即,当我调用set_attribute时设置实例变量。 但是,它们仅在实例变量被声明为public时起作用。当它们被声明为私有时,我得到一个 NoSuchFieldException 问题1: 当字段为私有时,为什么会出现该错