我需要帮助,如果满足条件,我需要再次使用JSTL代码,例如:
<c:forEach items="${arbol.subTree}" var="arbol">
name = <c:out value="${arbol.nombre}"/>
<c:if test="${arbol.subTree!=null}">
/ / do the last foreach
</ c: if>
</ c: forEach>
如果有人可以帮助我,如果你有疑问,我正在旅行,需要一棵树,每次你有一个可用的节点时,每个人都这样做。 由于树可能有数千个节点,因为我调用上面的代码而不必写几千次?
答案 0 :(得分:1)
JSTL根本不打算做任何递归方法。如果您希望/需要显示树,那么最好使用JSON将树结构从Java传递到JavaScript,然后在JavaScript中评估JSON对象并应用您想要/需要的任何递归方法。
在Java中,将您的结构转换为JSON字符串。这可以使用杰克逊完成:
YourTree tree = ...
ObjectMapper mapper = new ObjectMapper();
request.setAttribute("tree", mapper.writeValueAsString(tree));
在JavaScript中,获取JSON字符串:
<script type="text/javascript">
window.onload = function() {
var tree = JSON.parse('${tree}');
//do what you want/need with your tree structure...
}
</script>