1

サーブレットから返された値を使用して 2 つのリストを表示したい JSP ページがあります。ページ上のリストを取得できましたが、サーブレットを何度も呼び出して同じ値を表示する無限ループに陥りました。

私のtest2.jspでは、これを使用してjspページのロード時にサーブレットを呼び出しています

function load()
{

document.location.href="/OnaUIDemo/ona?";

}

私のオナサーブレットでは、これを使用しています。

RequestDispatcher rd = getServletContext().getRequestDispatcher("/test2.jsp");

私が理解しているのは、ページの読み込みを介してサーブレットを呼び出し、サーブレットが同じjspにリダイレクトしているためです。jsp が再びロードされ、無限ロードが何度も発生します。サーブレット呼び出しを一度だけ制御するのを手伝ってください。

4

1 に答える 1

-1

本当にサーブレットを使用する必要がありますか?POJO を使用して実行できます。

これら2つのリストを返すクラスを作成します。

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でこれら2つの関数を呼び出します

<%
test t = new test();
List l1=t.getList1();
List l2=t.getList2();
//now you have the two list,just show them
%>

指摘されているように、スクリプトレットは推奨されないため、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 に答える