我需要通过JSP渲染一个3级深度的项目列表。假设我的字符串属性为“Country”,“City”,“Street”。我需要构建一个UL和LI标签的层次结构来显示街道,使它们列在适当的城市下面,并且每个城市都列在相应的国家/地区。
示例:
<ul>
<li>United States
<ul>
<li>Washingron
<ul>
<li>Independence Ave</li>
<li>23d Street</li>
</ul>
</li>
<li>Detroit
...
</li>
</ul>
</li>
<li>United Kingdom
...
</li>
</ul>
显然,我可以使用forEach,但是为每个列表正确打开和关闭标签需要大量的if语句。有没有一些简单的方法可以通过JSTL做到这一点?
答案 0 :(得分:3)
<ul>
<c:forEach items="${countriesList}" var="country">
<li>${country.name}
<ul>
<c:forEach items="${country.stateList}" var="state">
<li>${state.name}
<ul>
<c:forEach items="${state.addressLines}" var="addressLine">
<li>${addressLine.addressString}</li>
</c:forEach>
</ul>
</li>
</c:forEach>
</ul>
</li>
</c:forEach>
</ul>