1

我有一个 jsp 页面,我想在其中显示要使用 servlet 返回的值填充的 2 个列表。这应该在 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 调用。

4

1 回答 1

-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中。只需调用这两个函数

<%
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" />

这相当于 <%test t=new test();%> 现在迭代并在 jstl 中显示列表值

<c:forEach var="content" items="${obj_name.list1}">
c:out value="${content}" />
</c:forEach>
于 2013-03-05T15:14:28.823 回答