如何将List从Servlet发送到JSP

时间:2014-09-21 17:58:04

标签: list jsp servlets request response

我有List<PostData>在Servlet中有一些用户的帖子,我怎么能把这个列表发送到用户的JSP页面?我需要拆分服务器部分和布局部分。 感谢。

这是我的清单:

public List<PostData> getPostforUser(String komy)
{
    ArrayList<PostData> posts = new ArrayList<PostData>();
    try {
        Statement statement = connection.createStatement();
        ResultSet rs = statement.executeQuery("select * from posts where komy='"+komy+"'");
        while(rs.next())
        {
            PostData postdata = new PostData();

            postdata.setId(rs.getInt("id"));
            postdata.setOtkogo(rs.getString("otkogo"));
            postdata.setKomy(rs.getString("komy"));
            postdata.setText(rs.getString("text"));
            postdata.setDate(rs.getString("'date'"));
            posts.add(postdata);

        }
    }catch (SQLException e) {

        e.printStackTrace();
    }
    return posts;
}

一切正常,我创建了Connections和下面的其他内容。

2 个答案:

答案 0 :(得分:2)

您可以在属性中设置列表,并在ur jsp上循环显示。

request.setAttribute("posts", posts);

在你的jsp中:

<table>
  <c:forEach items="${posts}" var="post">
   <tr>
     <td>${post.id}</td>
     ....
   </tr>
  </c:forEach>
</table>

没有jstl,会是这样的:

<%
  ArrayList<PostData> posts=(ArrayList<PostData>) request.getAttribute("posts"); 
  for (PostData post: posts) {   
%>
  <tr>
    <td><%=post.id%></td>
    ....
   </tr>
<%}%>

答案 1 :(得分:0)

使用请求范围属性,然后您可以通过${postforUser}使用JSP EL访问它。

request.setAttribute("postforUser", getPostforUser("komy"));