Java Content Repository API 简介
2010-03-19 00:00:00 来源:WEB开发网像手工配置时一样,所有的 JCRWiki 内容都放在 wiki 名称空间下:
ws.getNamespaceRegistry()。registerNamespace
("wiki", "http://www.barik.net/wiki/1.0");
恭喜!仓库的自动配置现在完成了。
JCRWiki 的设计策略
现在看一下 JCRWiki 仓库的整体内容层次结构。在示例中,要创建两个实体 “rose” 和 “Shakespeare”,它们都是 nt:unstructured 类型的。根据设计合同,每个百科全书条目都要有三个属性:条目的标题、条目的内容以及多值分类属性(如果条目有多个分类)或单值分类属性(如果条目只有一个分类)。多值属性在编程上表现为一组数值。
图 2 描绘了 JCRWiki 设计策略的图示:
图 2. JCRWiki 拓扑的高层图示
JCRWiki 功能
没有内容的仓库没什么用处。这一节将演示 JSR-170 提供的基本内容操纵功能,并描述一些更高级的、可选的仓库特性,例如版本管理和导入导出 XML 内容。
添加内容
从清单 8 开始,向仓库添加内容节点,让它看起来像图 2 中的 JCRWiki 拓扑:
清单 8. 将内容添加到 JCR 仓库中
Node encyclopedia = rn.addNode("wiki:encyclopedia");
Node p = encyclopedia.addNode("wiki:entry");
p.setProperty("wiki:title", new StringValue("rose"));
p.setProperty("wiki:content", new
StringValue("A rose is a flowering shrub."));
p.setProperty("wiki:category",
new Value[]{
new StringValue("flower"),
new StringValue("plant"),
new StringValue("rose")});
Node n = encyclopedia.addNode("wiki:entry");
n.setProperty("wiki:title", new StringValue("Shakespeare"));
n.setProperty("wiki:content", new
StringValue("A famous poet who likes roses."));
n.setProperty("wiki:category", new StringValue("poet"));
session.save();
Tags:Java Content Repository
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接