在JSTL中重复代码

埃里亚斯·巴尔加斯

我需要帮助,我有一个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> 

如果有人可以帮助我,如果您有疑问,我正在旅行,并且需要一棵树,每当您有可用节点时,就要做一棵。由于树可能有成千上万个节点,因此我调用上面的代码而不必编写数千次?

路易吉·门多萨(Luiggi Mendoza)

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>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章