将列表对象作为参数发送到jsp端

时间:2014-05-06 18:05:29

标签: java jsp servlets

我正在尝试将列表作为参数发送到我想要显示的JSP文件中。 我的JSP文件名为showList.jsp。

创建了一个servlet,用于控制程序中的所有内容。当用户点击“显示列表”按钮时,将执行一些代码,此代码将打印出列表:

我的代码:

if (session.getAttribute("show") == "show") {

        List opr = null;
        try {

            opr  = func.showlist(opr);
            for(int i = 0; i < opr.size(); i++){
                System.out.println(opr.get(i));
            }

        } catch (Exception e) {

            System.out.print("Error found, when trying to show list");

        }

        session.removeAttribute("administrator");
        session.removeAttribute("show");
        session.removeAttribute("create");
        return;

    }

在这里你可以看到它只是打印出我的arraylist(大小)中的内容。

更新代码:

  List opr = null;
        try {

            opr  = func.showlist(opr);
            for(int i = 0; i < opr.size(); i++){
                System.out.println(opr.get(i));

            }
            request.setAttribute("list", opr);

        } catch (Exception e) {

            System.out.print("Error found, when trying to show list");

        }

        session.removeAttribute("administrator");
        session.removeAttribute("show");
        getServletConfig().getServletContext().getRequestDispatcher("/getList.jsp");

    }

1 个答案:

答案 0 :(得分:1)

尝试使用 JSP JSTL 来迭代JSP中的列表

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
...

<c:if test="${not empty list}">
    <table>
        <c:forEach var="x" varStatus="status" items="${list}">
            <tr>
                <td><c:out value="${x}" /></td>
            </tr>
        </c:forEach>
    </table>
</c:if>

只需使用ServletRequest#setAttribute()将数据设置为请求属性。

如需更多样本,请查看以下帖子: