我正在学习使用AEM6的新功能之一 - Sling Models.我已按照此处描述的步骤获取节点的属性
@Model(adaptables = Resource.class)
public class UserInfo {
@Inject @Named("jcr:title")
private String title;
@Inject @Default(values = "xyz")
private String firstName;
@Inject @Default(values = "xyz")
private String lastName;
@Inject @Default(values = "xyz")
private String city;
@Inject @Default(values = "aem")
private String technology;
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public String getTechnology() {
return technology;
}
public String getTitle() {
return title;
}
}
Run Code Online (Sandbox Code Playgroud)
并从资源中调整它
UserInfo userInfo = resource.adaptTo(UserInfo.class); …Run Code Online (Sandbox Code Playgroud) 我<c:forEach>在jstl中使用过.现在我想要使用.
我的用例是打印1到10之间的数字,然后我如何for loop在java中轻松迭代
我希望使用cq:inplaceEditing来修改我的JCR上的属性,只要AEM作者使用它.不幸的是,我不知道如何修改它在JCR中实际修改的属性的名称.它似乎默认只修改属性"text"的值.
出于我的目的,我想对我定义名称的属性使用富文本编辑,而不仅仅是默认名称"text".
此链接中的图像显示包含cq:inplaceEditing的树(由CRXDE提供):

这些是cq:editConfig的属性:

这些是cq:inplaceEditing的属性:

...当我使用inplaceEditor时,这就是我的JCR的内容节点.出于潜在的安全原因,我已经将某些属性的名称涂抹了.请注意,当我使用inplaceEditor时,下面的"text"属性已更改.另请注意,我希望能够定义inplaceEditor更改的属性名称,而不仅仅是"text"属性:

有没有办法使用不同的属性名称而不是"文本"?
- - - - - -编辑 - - - - -
将属性"textPropertyName"更改为我正在搜索的属性后,它似乎仍然不会实际修改inplaceEditor的行为.它仍然只修改我的JCR节点的"text"属性,而不是我在"textPropertyName"属性中放置的属性.
这张图片包含我的cq:InplaceEditingConfig的属性:

下图包含上图中"configPath"变量中指定的路径上JCR节点的属性.请注意,我在此节点中设置了textPropertyName属性,文本组件仍然会修改默认属性"text"而不是指定的属性:

最后,下图显示了文本组件内部的JCR树的内容.

-----------另一个编辑----------
我发现在切换到经典UI后,内联文本编辑器保持了正确的属性.出于某种原因,它无法与触摸UI一起正常工作.
我遇到了OSGi中@Component的一个属性,该属性我无法通过docs理解,也没有得到任何详细信息,即已启用。
已启用
enabled
Default: true
SCR Descriptor: component.enabled
Metatype Descriptor: --
Run Code Online (Sandbox Code Playgroud)
捆绑包启动时是否启用组件
即时
immediate
Default: --
SCR Descriptor: component.immediate
Metatype Descriptor: --
Run Code Online (Sandbox Code Playgroud)
是否立即激活组件
尽管我知道“激活组件”,但是我不理解“启用组件”一词的含义是什么?
在用例或示例的帮助下的任何答案,以及何时使用的内容,都将受到赞赏。
先感谢您。