2016-07-28 11 views
2

私はシンプルで短い質問ですが、答えはどこにも見つかりませんでした。私はHttpSessionを作成し、Userオブジェクトなどの属性を取得する必要があります。Java HttpSession .getAttribute(String name)

HttpSession session = request.getSession(true); 
Object userObject = session.getAttribute("name"); 
if ((userObject != null) && (userObject instanceof User)) { 
    User currentUser = (User) userObject; 
    ... 
} 

質問は以下の通りです:.getAttribute機能は、パラメータとして文字列名を取得します - 名前は何ですか?どこから名前を知っていますか?どこかであらかじめ定義されていますか? - 別のものを定義する場所はどこですか?

ありがとうございました!

答えて

2

は通常、あなたはそうのようなセッションに自分自身を属性を追加:

User someObject = new User(); 
session.setAttribute("pickaName", someObject); 

は、その後、あなたがセッションを取得し、以前のようなので、使用されたものと同じ名前を使用してこの属性をやってのけることができます。

User sameObject = (User) session.getAttribute("pickaName"); 
+0

は、私は、私はそれを得たと思います、ありがとうございます。私が正しいとすれば、セッションでgetAttributeを使ってUserオブジェクトを取得したい場合は、ログインメソッドを作成する必要があります。ここでは、ユーザーの属性を設定します。 –

+0

正確です。オブジェクトを作成して最初に追加すると、後でオブジェクトを取得できます。 – LeHill

+0

ありがとう、それは私の多くを助けた! –

0

.getAttribute関数は、パラメータとして文字列名を取得します。名前は何ですか?

あなたがセッションから属性を取得したい場合は、あなたのような前のセッションにそれらを設定する必要がありそう:

User aux = new User(); 
HttpSession session = new HttpSession(); 
session.setAttribute("myUserObject", aux); 
User user = (User) session.getAttribute("myUserObject"); 
関連する問題