1

これが私がやろうとしていることです。

を含むサーブレットと、ArrayListサーブレットの後に表示される JSP ファイルがあります。JSPユーザーがファイルの [次へ] をクリックした後ArrayList、元のサーブレットから必要な別のサーブレットに移動します。

JSPページを使用してそれを取得するにはどうすればよいArraylistですか?

現在ArrayList、JSP で非表示の入力として The を使用していますが、新しいServlet呼び出しではその非表示の入力を として取得しませんArrayList

4

2 に答える 2

0

を使用しHttpSessionます。に渡すArrayList前に、元のサーブレットからセッション属性として保存しますJSPServletそれからまたあなたがそれから別のものを呼ぶときJSPArraylistから取得する必要がありますHttpSession

もう1つの推奨されない方法は、値をシリアル化してから、サーブレットに再度送信することです。

に文字列や整数などのデータが少量ある場合はArrayList、次のことができます。

public String serializeArrayList(ArrayList list){
  StringBuffer sb = new StringBuffer();
  for(int i = 0; i < list.size(); i++){
    sb.append("<input type=\"hidden\" name=\"list_values\" value=\"");
    sb.append(list.get(i));
    sb.append("\">\n");
  }
  return sb.toString();
}

次に、を使用して新しいリストを作成し、それを使用してArrayListを再度作成しrequest.getParameterValues("list_values")ます。String[]

もちろん、これは、リストに数十または数百のエントリがあり、オブジェクトがに格納されている場合は、あまり効率的ではありません。ArrayList

于 2012-11-26T06:15:04.457 に答える
0

可能であれば、サーブレットを再度呼び出して、更新されたリスト、またはリストのどの部分を使用するかを示すパラメーターを持つ同じリストを取得します。これは、サーブレットをコントローラーとして使用しています。コントローラとしてJSPファイル(プレゼンテーション)を使用することは避けてください。これは今では複雑に見えますが、JSP(およびその他のプレゼンテーション)ページの記述がはるかに簡単になることがわかります。

于 2012-11-26T03:10:11.060 に答える