将列表传递到另一个 jsp 文件

2022-09-03 13:18:45

我想将主JPS中的List类型对象传递给包含JSP( jsp:include)。由于 parm 仅支持字符串,因此我无法使用 parm 标记将列表类型数据传递到包含文件。

使用示例:

<jsp:include page="/jsp/appList.jsp">
     <jsp:param name="applications" value="${applications}"/>
</jsp:include>

艺术

<jsp:include page="/jsp/appList.jsp">
     <jsp:param name="applications" value="${confirmed_applications}"/>
</jsp:include>
<jsp:include page="/jsp/appList.jsp">
    <jsp:param name="applications" value="${unconfirmed_applications}"/>
</jsp:include>
<jsp:include page="/jsp/appList.jsp">
    <jsp:param name="applications" value="${canceled_applications}"/>
</jsp:include>

我可以创建一个简单的标签处理程序,但我想知道是否有更简单的方法。


答案 1

同意 ChssPly76 的观点,即如果在 JSP 中生成列表,则可能是一个麻烦的迹象,但是将对象获取到另一个 JSP 的另一种方法是使用 scriplet 将其添加到 HttpServletRequest 对象属性字段中:

具有列表的 JSP:

<%
request.setAttribute("theList", ListObject);
%>

另一个 JSP:

<%
List myList = (List) request.getAttribute("theList");
%>

答案 2

这确实是 jsp 标签的用途。创建一个接受属性(而不是参数) .tag 文件,该文件可以是任意类型。

有关一个很好的教程,请参阅此文章

“参数”类似于您在 HTTP 查询中看到的参数(URL 中“?”后面的部分)。