2010-12-14 8 views
1

私はヘルパークラスのユーザ名とパスワードをチェックするサーブレットコードを持っています。チェックした後サーブレットに戻り、ユーザをリストします。ユーザーのリストと共にユーザー名はjspに表示する必要があります。両方の値を送信するには?ここで私が試したコードです。それは何も表示しません。 String outp = t.Welcome(name、pwd);複数の値をサーブレットからjspに送信

String Users=t.List_Of_Users(); 
String User[]=Users.trim().split(" "); 
request.setAttribute("name", User); 
response.sendRedirect("Welcome_User.jsp?Users="+User+"&outp="+outp); 

答えて

2
  • あなたが転送を使用する場合(request.getRequestDispatcher("welcome_user.jsp").forward()) - ちょうどあなたがリダイレクトを保持している場合、別のrequest.setAttribute("attrName", value);
  • を追加 - 別のGETパラメータを追加します。 Welcome_User.jsp?Users="+User+"&outp="+outp + "&another=" + another;request.setAttribute(..)を削除してください)

文字列として配列を表すには、複数のオプションがあります。一つはArrays.toString(array)

(GETパラメータとしてパスワードを送信すると、セキュリティ上の問題であることに注意してください。)

+0

+1を参照してください。しかし、後者のオプションは 'toString()'メソッドの実装に依存すると考えられ、期待どおりに動作しない可能性があります。 –

+0

さて、私はそれが既に 'String'であると仮定しました:) – Bozho

+0

スニペットでは、その配列です。私は知っている、命名規則は少し台無しです。 :) –

2

あなたが好きなあなたはまた、最適化が世話をしなければならない、などの多くの属性を設定することができます。 、

request.setAttribute("key1", Object1); 
request.setAttribute("key2", Object2); 
request.setAttribute("key3", Object3); 
. 
. 
. 
request.setAttribute("keyn", Objectn); 

その後、

String destination = "/WEB-INF/pages/result.jsp"; 
RequestDispatcher rd = getServletContext().getRequestDispatcher(destination); 
rd.forward(request, response); 
+0

これらはパラメータではなく、属性です。ここでは両方とも、ここでは異なる意味を持っています。だから、あなたは注意すべきです。 ;) –

+0

@Adeel yeah。私はOPがjspにサーブレットからデータを渡したいと思うので、私はこのアプローチでは何の問題も考えません。私は属性とパラメータが異なることを知っています、ありがとうbtw :) –

+0

@ org.life.java:あなたの投稿を編集しました、私はあなたが気にしないことを願っています。さて、私はあなたがすでに私の意味を持っていることを願っています。 –

3

response.sendRedirect()は明らかに属性が予め設定されたすべての要求が保持されないことを意味し、バッファをクリアします。

ご希望の属性をリクエストオブジェクトに設定した後、RequestDispatcher.forward()を使用することをお勧めします。

NB:慣習上、小さな文字で始まる変数名を定義する必要があります。たとえば、String User;の代わりにString user;などです。第2に、メソッド名にアンダースコアを使用しないでください。さらに、私は自明の名前を提案します。あなたのスニペットは少し改名されています。

String userNamesStr =t.userNamesSpaceDelimited(); 
String[] userNameArr = userNamesStr.trim().split(" "); // Or userNames, but we usually follow this for List 
0
String[] values = getParameterValues(“Input Parameter”); 

これを試してみてください。このメソッドの詳細については、