【发布时间】:2014-07-30 09:09:20
【问题描述】:
我想使用 ul/li 列表呈现 HTML 菜单。我有这个类结构:
public class MenuItem {
private String name;
private MenuItem parent;
private List<MenuItem> children;
public MenuItem(String name,List<MenuItem> children) {
this.name = name;
this.children = children;
for (MenuItem child : children) {
child.parent = this;
}
}
public MenuItem(String name) {
this.name = name;
}
public String getName() {
return name;
}
public MenuItem getParent() {
return parent;
}
public List<MenuItem> getChildren() {
return children;
}
}
如您所见,它是典型的树形结构,其中一个根元素包含对其子元素的引用,而它们又对其子元素的引用,依此类推。
现在我想渲染这样的结构:
<ul>
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2
<ul>
<li>Item 1.2.1</li>
<li>Item 1.2.3</li>
</ul>
</li>
<li>Item 1.3</li>
</ul>
</li>
<li>Item 2</li>
</ul>
我怎样才能用百里香来做到这一点?如果我必须使用 其他技术,例如 Tiles、Layout 或其他任何东西,我会很容易。
编辑:我尝试了参数化包含/替换,但没有运气。传递的参数被转换为字符串,不能用于其他级别的递归。见https://github.com/ultraq/thymeleaf-layout-dialect/issues/12
非常感谢,
弗兰克
【问题讨论】:
标签: java spring templates web thymeleaf