传递用户定义的arraylist jsp / jstl

时间:2014-12-09 09:12:12

标签: javascript jsp servlets jstl

我将以下数组列表传递给jsp。

class A{
    String a;
    String b
}

在主servlet中,

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    A a = new A("Hello", "World");
    A a2 = new A("Welcome","India");
    List<A> val = new List<A>;
    val.add(a);
    val.add(a2);
    HttpSession session = request.getSession(true);
    session.setAttribute("values", values);
    response.sendRedirect("./B.jsp");
}

现在在jsp中,任何人都可以建议如何获取列表并将其显示为表条目。我尝试了以下内容。

<%@page import="java.util.List"%>
<% List<A> lst = (List<A>) session.getAttribute("values"); %>

但是,获取,A无法解析为jsp中的类型。请帮助如何将其显示为表格条目并强制执行。

1 个答案:

答案 0 :(得分:1)

您必须在jsp上为A类添加导入,类似于用于java.util.List的导入

 <%@page import="package.A"%>

编辑:

以下是如何做到这一点:

     <c:forEach items="${sessionScope.values}" var="current">
         <tr>
          <td><c:out value="${current.a}" /><td>
         <td><c:out value="${current.b}" /><td>
    </tr>
  </c:forEach>

您已在会话中的变量“值”中设置列表。可以使用表达式$ {sessionScope.values}从JSP访问它。

并在页面顶部添加此项。它将引用标准的JSTL标记:

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

可以找到更多信息here