java - 使用自定义工作流更新节点属性 AEM
问题描述
我试图更新 DAM 资产的元数据,使用自定义工作流程添加新的属性值。下面的代码在 execute() 方法中运行良好。
Resource metadata = resourceResolver.getResource(resourcePath);
ModifiableValueMap properties = metadata.adaptTo(ModifiableValueMap.class);
properties.put("360 degree", "true");
try {
metadata.getResourceResolver().commit();
} catch (PersistenceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
未创建如下更新代码的属性值。
Resource metadata = resourceResolver.getResource(resourcePath);
Node metanode = metadata.adaptTo(Node.class);
try {
metanode.setProperty("360 degree", "true", PropertyType.BOOLEAN);
} catch (RepositoryException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我错过了什么吗?
解决方案
我猜你忘记打电话了javax.jcr.Session#save
。
但是在 AEM 中工作时不应使用 JCR api,如果可能,请使用 Sling API 甚至更高级别的 api(尤其是 wcm)。
推荐阅读
- c# - C# 是否使用 await 对 if 语句执行短路评估?
- gridjs - gridjs 宽度拥有 Table 和 Jquery
- apple-push-notifications - ALPN 回调被丢弃:HTTP/2 被禁用。IBM Webshere 9 JAVA 8 上的 alpn-boot 在引导类路径上吗?
- flutter - 加载列表时如何处理巨大的数组?
- mongodb - Flapdoodle 因 Spring Boot v2.3.3 的“授权失败”错误而失败
- odoo - 如何在odoo 13中创建一个新标签?
- php - 在 ModelBehavior 中未检测到 Controller 的更改
- confluent-platform - 汇合云 | Java Avro 序列化 | 值中的垃圾字符
- pagination - 是否有关于使用 GraphQL 实现偏移分页的任何标准或约定?
- reactjs - React Native 选项卡导航器重新渲染屏幕组件