问题描述
我在 magnolia 工作,后端是 java。我需要检查我使用这些步骤执行的组件中是否存在节点
if (!MgnlContext.getJCRSession("repository").nodeExists(path)) {
MgnlContext.getJCRSession ("repository").getRootNode().addNode("nodeName","mgnl:content");
}
现在我需要在这个节点中放置一个 bean(java 对象 bean)。例如:因为它应该作为它下面的内容节点。
有人可以建议任何方法来做得更好吗?
解决方法
要将任何已访问过的 java 映射到存储库中的内容,您在 Magnolia 中的最佳选择是使用 Node2Bean
。它允许您将 java bean/pojo 的内容映射到 JCR 节点并返回。 documentation 中的更多详细信息。
为了管理 Magnolia 中的节点/属性,您还可以使用这些工具:
info.magnolia.jcr.util.NodeUtil
info.magnolia.jcr.util.SessionUtil
info.magnolia.jcr.util.PropertyUtil