如何使用 include 标记进行递归(foreach 循环)?树结构-JAVA

How to do a recursive ( foreach loop ) using include tag ? Tree Structure-JAVA

我想知道当条件为真时 JSP (boucle.jsp) 是否可能包含自身

这段代码告诉我 java.lang.WhosebugError 异常

<% 
  for(Callers ck : calls.get(calls.size()-1)){
      pageContext.setAttribute("ck", ck);
      System.out.print("Test1 " +ck);
      if (app.hasChild(ck)== true) {
            c = app.childOf(ck);
            calls.add(c);
            %>
            <li><input type="checkbox" id="c<%=i%>" /> 
            <label class="tree_label"for="c<%=i%>">${ck}<></label>
            <%i++;%>
            
             <%@include file="/Pclink/boucle.jsp" %>
            </li>
            <%
            }else {
                %>
                <li><span class="tree_label">${ck}</span></li>
                <%
            }
  }
calls.remove(calls.size()-1);
%>
</ul>*

好吧,include 是一个静态导入,这意味着首先发生的事情是: <%@include file="/Pclink/boucle.jsp" %> 带来“Pclink/boucle.jsp”的内容,并将其放入我们的 jsp 中,因为 boucle.jsp 称它为 selfs,所以它一次又一次地包含它 ...

所以我们需要的是动态包含 注意:在那种情况下 boucle.jsp 必须是一个完整的 jsp 页面,而不仅仅是您希望它递归的代码的一部分;

如果您想获取来自 boucle.jsp 的数据 您所要做的就是从初始 jsp 中获取数据 request.setAtrribute("name_ that you_want_to_call_it ",variable);

然后你在 boucle.jsp 中用 variable = request.getAttribute("name_ that you_called_it ");

不过我的英语不太好,希望能明白点什么。