AEM显然没有从Java中看到模型字段

AEM显然没有从Java中看到模型字段,aem,sling,sightly,Aem,Sling,Sightly,我有一个Java模型,我想在我的HTL中使用。它看起来像这样: 公共类MyModel{ 私有模型; ... 公共模型getModel(){return Model;} } 公共类模型{ 私有字符串myField; ... 公共字符串getMyField(){return myField;} } 我尝试在我的模板中使用它,如下所示: ${localModel.myField} 但是,当我尝试使用此模型编辑页面时,我收到了ArrayIndexOutOfBoundException,不知道从何而

我有一个Java模型,我想在我的HTL中使用。它看起来像这样:

公共类MyModel{
私有模型;
...
公共模型getModel(){return Model;}
}
公共类模型{
私有字符串myField;
...
公共字符串getMyField(){return myField;}
}
我尝试在我的模板中使用它,如下所示:


${localModel.myField}
但是,当我尝试使用此模型编辑页面时,我收到了
ArrayIndexOutOfBoundException
,不知道从何而来。 当我尝试将
data-sly-use
更改为
data-sly-test
时,没有例外,页面会加载,但是带有测试的div不会显示,因此测试显然返回false。 创建这样的模型是否需要AEM中的额外配置才能使用? 我的类中的字段目前正在被模拟,所以它们不可能为空

编辑:
当我将
Model
对象包装在列表中的
MyModel
中,并在HTL中使用
data-sly-list
时,它会起作用。

data-sly-use
用于实例化使用对象,而不是分配变量;你应该改用


或者,您可以只使用
${myModel.model.myField}

尝试,但仍然在
AbstractSlingFilterChain.java:81中获得
ArrayIndexOufOfBoundsException
完整的堆栈跟踪将有助于调试it@MarcinZareba,您是否也可以添加根堆栈跟踪,即由以下原因引起的:
?让我们来看看。