Java 在magnolia中如何在jsp中迭代ContentMap

Java 在magnolia中如何在jsp中迭代ContentMap,java,jsp,loops,collections,magnolia,Java,Jsp,Loops,Collections,Magnolia,我刚接触Magnolia CMS,现在在jsp上迭代ContentMap时遇到了一些问题 我希望我的页面分别显示链接和链接文本。像forEach这样的JSTL标记在这种情况下不起作用,例如I type <c:forEach items="${content.events}" var="item"> <a href="${item.link}" target="_blank">${item.linkText}</a> </c:forEach>

我刚接触Magnolia CMS,现在在jsp上迭代ContentMap时遇到了一些问题

我希望我的页面分别显示链接和链接文本。像forEach这样的JSTL标记在这种情况下不起作用,例如I type

<c:forEach items="${content.events}" var="item">
  <a href="${item.link}" target="_blank">${item.linkText}</a>
</c:forEach>


因此,我的问题是,在Magnolia中迭代contentMap的正确方法是什么?

contentMap是作为映射公开的节点属性。您想要迭代的是子节点,因此它无法工作。 看一下您的结构,它看起来像一个链接列表区域,如果是这样的话,那么在呈现区域的组件和区域本身中,应该足够了,比如:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="cms" uri="http://magnolia-cms.com/taglib/templating-components/cms"%>
<div id="${def.parameters.divId}">
  <c:forEach items="${components}" var="component">
    <cms:component content="${component}" />
  </c:forEach>
</div>

其中,
组件
应隐式暴露在该区域中。尝试从git/nexus获取magnolia模板示例模块,以获得更多类似的示例

嗯,, 一月