使用速度代码获取父元素的子元素

时间:2014-07-18 14:46:44

标签: liferay liferay-velocity

我将亚洲作为父母元素。在此之下,我将印度和中国视为儿童元素。我想通过使用速度代码来获取这两个国家/地区。

以下是我的代码:我正在使用方法getChildren()而我只得到第一个孩子,而且我无法生下两个孩子。

我的父元素为continent,子元素为countries

#foreach ($cur_continent in $continent.getSiblings())
#foreach($countries in $cur_continent.getChildren())
$countries.getData()

1 个答案:

答案 0 :(得分:0)

  • 您收到的错误消息是什么 - 例如在日志文件?
  • 正如Pankaj在评论中提到的那样:确保每#end
  • 有一个#foreach
  • 如果你想知道你可以在每个元素上调用哪些方法,你可以假设它们是java对象:从编写$ continent.getClass()。getName()开始,查看结果并查找Java接口,以便您知道在每个对象上调用什么。
  • 请注意,您使用getSiblingsgetChildren - 可能希望获得相同/相似的结果?

完成此核对清单后,请告诉我们您的搜索结果

编辑:不幸的是com.liferay.portal.kernel.templateparser.TemplateNode的javadoc还没有出现,但getSiblingsgetChildren之间存在差异,我总是如此将它们混合起来 - 尝试两者,或者让我们知道是否有效。目前,您同时使用这两种方式(使用不同的说明)。我相信其中一个会做你想做的事。