web-dev-qa-db-ja.com

Java HttpSession .getAttribute(String name)

簡単で短い質問がありますが、どこにも答えが見つかりませんでした。 HttpSessionを作成し、そこから属性(Userオブジェクトなど)を取得したいと思います。

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

質問は次のとおりです。getAttribute関数はパラメータとして文字列名を取得します-名前は何ですか?名前はどこからわかりますか?どこかに事前定義されていますか? -では、どこで別のものを定義しますか?

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

4
Display Name

通常、次のように自分でセッションに属性を追加します。

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

次に、セッションを取得し、次のように以前に使用したのと同じ名前を使用してこの属性を取得できます。

User sameObject = (User) session.getAttribute("pickaName");
4
LeHill

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

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

User aux = new User();
HttpSession session = new HttpSession();
session.setAttribute("myUserObject", aux);
User user = (User) session.getAttribute("myUserObject");
0
Julian