更新JCR 2.0中节点内容
我尝试更新 JCR 2.0 中的节点
InputStream content = node.getProperty("jcr:content").getProperty("jcr:data").getBinary().getStream();
//TODO same with stream
Binary value = ...;
Node contentNode = node.getProperty("jcr:content");
contentNode.setProperty("jcr:content", value);
,但出现异常“javax.jcr.nodetype.ConstraintViolationException:项目受保护”。怎么了?
I try to update node in JCR 2.0
InputStream content = node.getProperty("jcr:content").getProperty("jcr:data").getBinary().getStream();
//TODO same with stream
Binary value = ...;
Node contentNode = node.getProperty("jcr:content");
contentNode.setProperty("jcr:content", value);
And I get exception "javax.jcr.nodetype.ConstraintViolationException: Item is protected". What`s wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您所指的“jcr:content”通常是子节点的名称(通常为 nt:resource 或类似类型),而不是属性。因此,您的代码示例应该是:
另请参阅 jackrabbit-jcr-commons 库的 JcrUtils 类。
The "jcr:content" you're referring to is typically the name of a child node (usually of type nt:resource, or something similar), rather than a property. Thus your code sample should rather be:
See also the putFile() utility methods in the JcrUtils class of the jackrabbit-jcr-commons library.