JSP在循环中动态包含页面

时间:2013-01-07 23:49:14

标签: jsp include jstl

我尝试在out.println()内使用<% ... %>在JSP中添加页面,但它没有成功包含。

我必须使用<% ... %>因为某些限制,例如循环。有没有人知道这个或其他方式成功包含页面?我指出我的示例案例如下。

<%

 for (int i = 1; i < strVoCardList.length; i++) {

  String strUserID = strVoCardList[i][1];


  out.println("<jsp:include page='../include/include_Notification_Bar.jsp' >");

  out.println("<jsp:param name = 'strUserID' value = \""+strUserID+"'/>");

  out.println("<jsp:param name = 'strSubElementID' value = '"+i+3+"'/>");

  out.println("</jsp:include>");

 }

%>

1 个答案:

答案 0 :(得分:1)

我强烈建议您删除这些scriptlet和JSP标记,并改为使用JSTL <c:forEach><c:import>标记。

这看起来像是:

<c:forEach items="${strVoCardList}" var="strVoCard" varStatus="status">
    <c:import url="../include/include_Notification_Bar.jsp">
        <c:param name="strUserID" value="${strVoCard[1]}"/>
        <c:param name="strSubElementID" value="${status.count + 3}"/>
    </c:import>
</c:forEach>

另见: