在jsp中导入和检索类对象

时间:2013-04-25 11:12:16

标签: jsp java-ee servlets

我正在尝试从我创建的servlet中检索类型为QueryClass的数组列表对象,并导入QueryClass的类,以便我可以在我的jsp中使用名为{{1}的对象但是当我在jsp文件中获取属性时,该对象似乎不存在,但在我的servlet中,它使用适当的数据进行初始化,并使用正确的名称进行设置。

在我的servlet中,我有这个片段

validate.jsp

在我的jsp中我有以下

QueryClass query = new QueryClass("","","","");

String searchName = request.getParameter("searchName");

ArrayList<QueryClass> data = query.getSearchedNames(searchName);

request.setAttribute("data",data);  

RequestDispatcher rd = request.getRequestDispatcher("validate.jsp");

rd.forward(request, response);

1 个答案:

答案 0 :(得分:1)

通过记住基本上使得scriptlet过时和弃用的MVC方法,基本满足了您的要求。

  1. 在servlet方法中将您想要的数据设置为请求属性:

    List<QueryClass> data = createList(...);
    request.setAttribute("data",data);
    request.getRequestDispatcher("validate.jsp").forward(request, response);
    
  2. 通过EL访问请求(会话,应用程序等)的不同属性:

    ${data}
    
  3. 因此,要记住您想要遍历列表,如果您使用JSTL,则遍历可以在JSP中具有以下样式:

    <ul>
        <c:forEach var="element" items="${data}">
            <li>${element.name}</li>
        </c:forEach>
    </ul>
    

    上面的代码将生成数据对象中每个元素的名称列表,前提是您的类已定义getName()方法。