我想为名称(比如说A.gif)的图像创建单个文件节点。现在,我想跨多个节点重新使用该文件。有没有办法做到这一点? 作为解决方法,我正在为存储库中的不同路径重新创建文件节点,但这会导致文件重复。JCR创建单个文件,从不同节点链接
回答
我不知道我理解你的问题。但是,我要做的是将文件存储在一个位置,然后使用来自多个位置的path
属性引用它。
假设你有以下节点结构
-content
- articles
- article1
- article2
- images
- image1
您可以在每篇文章名为imagePath
指向图像的路径属性显示的设置,在这种情况下/content/images/image1
。
为了完整性,请不要忘记references。
Node imageNode = rootNode.addNode("imageNode");
imageNode.addMixin(JcrConstants.MIX_REFERENCEABLE);
Node node1 = rootNode.addNode("1");
node1.setProperty("image", imageNode);
Node node2 = rootNode.addNode("2");
node2.setProperty("image", imageNode);
session.save();
PropertyIterator references = imageNode.getReferences();
while (references.hasNext()) {
Property reference = references.nextProperty();
System.out.println(reference.getPath());
}
注意引用David的模型认为是有害的(http://wiki.apache.org/jackrabbit/DavidsModel#Rule_.235:_References_considered_harmful) - 我个人同意这种看法,但是,意见当然不同。 – 2012-06-21 08:19:17
我不使用引用:)只是提到了完整性。 – TedTrippin 2012-06-21 08:54:15
好吧,让绝对有道理;-) – 2012-06-21 13:29:17
nt:linkedFile型是为这种用途而制造的。
- 1. 从JCR文件节点获取文件
- 2. 从单个节点的表单在Drupal中创建子节点
- 3. 创建节点线性链接列表
- 4. 创建节点之间的链接
- 5. 创建不同的链接文字
- 6. 如何创建一个锚链接到不同的.php文件?
- 7. 如何从文件创建Zookeeper节点?
- 8. 从XML文件创建节点对
- 9. D3.js从节点构建链接?
- 10. 在Drupal的节点面板中创建Next/Previous节点链接?
- 11. 单链接链接交换节点debacle
- 12. 创建三个节点的链表
- 13. 链接多个文件,同时在R中创建一个包
- 14. 从Drupal 8中的节点ID创建链接
- 15. 从一组节点创建链接列表的算法
- 16. Git:创建一个文件链接
- 17. Wicket:创建一个PDF文件链接
- 18. 链接列表节点指向不同类型的节点
- 19. OCM或JCR中的节点?
- 20. 如果选择单个节点为空,则创建单节点
- 21. 从已创建的节点创建链接列表。进入段错误
- 22. 如何发布节点但不在Umbraco中创建链接
- 23. 从单个链接列表中删除一个节点C
- 24. 从单个链接列表中删除整个节点
- 25. 在ns3中创建两个节点之间的无线链接
- 26. C++ - 链接列表 - 无法创建一个临时节点
- 27. 单个链接列表错误,同时添加节点
- 28. Angularjs:创建链接以下载不同类型的文件
- 29. 在Doxia Apt站点文件中创建java文件的链接?
- 30. 如何创建一个规则将菜单链接添加到节点?
嗨罗伯特,这正是我想要做的..在单个位置存储文件,并从多个位置引用它。但是,我无法弄清楚如何从多个位置设置“路径”? – sfbay 2012-03-28 15:12:00
查看我的更新。 – 2012-03-28 19:55:17
感谢您的回复,罗伯特。感谢它 – sfbay 2012-03-30 18:00:23