0

私のjspページがポストコマンドをサーバーに発行できるようにする方法について質問がありますが、ブラウザはポストされたページの方向を変更します。

コード スニペットは次のとおりです。

投稿を行うコード (これは jsp ファイル内にあります):

HttpClient client = new DefaultHttpClient();
client.getParams().setParameter("SUBMITTED", "submitted");
client.getParams().setParameter("xxxxxxxx", purchaser.getemail());
client.getParams().setParameter("xxxxxxxx", purchaser.getsuject());

HttpPost method = new HttpPost(url+"process.jsp");
client.execute(method); 

ここに process.jsp のスニペットがあります

if (person.getStatus() == person.ACTIVE)
  response.sendRedirect("Account.jsp);
else if (person.getStatus() == person.ERROR)
  response.sendRedirect("Error.jsp);

ブラウザにプロセス.jspからのリダイレクトをfallow/gotoしてもらいたいです。誰かが私を助けるチュートリアルを知っていますか、それとも間違った方法で進んでいますか?

4

1 に答える 1

1

あなたは確かにこれで間違った方向に進んでいます。「JSP 内の生の Java コード」と同様に、このロジックは JSP ファイルではなく、実際の Java クラスに属します。これを行うサーブレットを作成し、要求を目的の JSP ファイルにリダイレクト/転送します。

JSP はビュー テクノロジーであり、実際にはレスポンス ボディの一部です。応答の途中で JSP を変更しようとすると、IllegalStateException: response already committed.

さらに、機能要件全体が質問からは不明です。両方の JSP ファイルが同じ環境で実行されており、HttpClient のアプローチ全体が間違っているという印象があります。サーブレットについてもう少し学び始めてください。これは良い出発点です。

于 2010-04-10T02:16:05.710 に答える