0

大量のデータを表示するWebページを作成しています。最初に、ユーザーはファイルのアップロードとオプションのチェックボックスを含むフォームをjspに入力します。ユーザーが送信を押すと、フォーム情報を処理するサーブレットに移動します。情報が処理され、その結果、文字列のいくつかの大きな配列が作成されます。次に、次のようにパラメータを渡して、表示ページにリダイレクトします。

request.setAttribute("blah", array);
request.getRequestDispatcher(page).forward(request,response);

表示ページで、表示するページを選択するオプションをユーザーに提供できるようにしたいと思います。これを行うために、ページ番号をパラメーターとして渡したページの上部にリンクを作成しました。

<a href="DisplayPage?Page=x">Page x</a>

(DisplayPageはデータを表示するサーブレットであるため、リンクは別のパラメーターでそれ自体を指します)

問題は、データを再度表示するために、大きな配列をDisplayPageに戻す必要があることです。どうすればこれを達成できますか?

4

1 に答える 1

1

リンクで複数値のリクエストパラメータとしてそれらを渡すか、

<a href="DisplayPage?Page=x&blah=value1&blah=value2&blah=value3">Page x</a>
String[] blah = request.getParameterValues("blah");

または、必要に応じて、リクエストパラメーターとしても渡す一意の ID で識別されたセッションに保存します。

String id = UUID.randomUUID().toString();
request.getSession().setAttribute(id, array);
request.setAttribute("id", id);
<a href="DisplayPage?Page=x&blah=${id}">Page x</a>
Object blah = request.getSession().getAttribute(request.getParameter("blah"));
于 2012-07-18T17:08:07.007 に答える