AEM显然没有从Java中看到模型字段
我有一个Java模型,我想在我的HTL中使用。它看起来像这样:AEM显然没有从Java中看到模型字段,aem,sling,sightly,Aem,Sling,Sightly,我有一个Java模型,我想在我的HTL中使用。它看起来像这样: 公共类MyModel{ 私有模型; ... 公共模型getModel(){return Model;} } 公共类模型{ 私有字符串myField; ... 公共字符串getMyField(){return myField;} } 我尝试在我的模板中使用它,如下所示: ${localModel.myField} 但是,当我尝试使用此模型编辑页面时,我收到了ArrayIndexOutOfBoundException,不知道从何而
公共类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,您是否也可以添加根堆栈跟踪,即由以下原因引起的:
?让我们来看看。