我正在尝试使用自定义工作流程来更新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)。