我正在尝试从我创建的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);
答案 0 :(得分:1)
通过记住基本上使得scriptlet过时和弃用的MVC方法,基本满足了您的要求。
在servlet方法中将您想要的数据设置为请求属性:
List<QueryClass> data = createList(...);
request.setAttribute("data",data);
request.getRequestDispatcher("validate.jsp").forward(request, response);
通过EL访问请求(会话,应用程序等)的不同属性:
${data}
因此,要记住您想要遍历列表,如果您使用JSTL,则遍历可以在JSP中具有以下样式:
<ul>
<c:forEach var="element" items="${data}">
<li>${element.name}</li>
</c:forEach>
</ul>
上面的代码将生成数据对象中每个元素的名称列表,前提是您的类已定义getName()
方法。