我有一个jsp页面,其中我想要显示2个列表,使用servlet返回的值填充。这应该在jsp页面加载后发生,所以我通过jsp的onload函数调用servlet页面。我能够在页面上获取列表,但它一次又一次地调用servlet并显示相同的值。
在我的test2.jsp中,我使用它在加载jsp页面时调用servlet
function load()
{
document.location.href="/OnaUIDemo/ona?";
}
在我的ona servlet中,我正在使用它,
RequestDispatcher rd = getServletContext().getRequestDispatcher("/test2.jsp");
我弄清楚的是,因为它通过页面加载调用servlet,并且servlet也重定向到同一个jsp。 jsp再次加载导致无限次加载。 请帮我控制一次servlet调用。
答案 0 :(得分:-1)
你真的需要使用servlet吗?可以使用POJO来完成。
创建一个将返回这两个列表的类。
public class test{
public List getList1()
{
//do your stuff here to add values in list
return list;//return your list
}
public List getList2()
{
//do stuff here
return list;//return your list
}
}
在你的jsp.Just中调用这两个函数
<%
test t = new test();
List l1=t.getList1();
List l2=t.getList2();
//now you have the two list,just show them
%>
正如指出的那样,不鼓励使用scriptlet。你可以使用jstl
<jsp:useBean id="obj_name" type="package_name.class_name" />
这相当于&lt;%test t = new test();%&gt; 现在迭代并在jstl中显示列表值
<c:forEach var="content" items="${obj_name.list1}">
c:out value="${content}" />
</c:forEach>