1

ユーザーがログインして自分のダッシュボードに入る基本的なSpring Webアプリケーションを作成しています。「ログイン」URLがコントローラーを介してインスタンス化されるときに、デフォルトのSpring Securityログインフォームを利用しました。知りたいのは、データベースからログインしたばかりのユーザーの個人アカウント情報を取得するにはどうすればよいですか? これは、ログインURLがインスタンス化されたときにコントローラークラスにあったものです

@RequestMapping("dashboard")
public String goDashboard(Model model){
    model.addAttribute("user", new User());
    return "dashboard"; // this is just returning the viewResolver JSP page
}

個人的には、新しいオブジェクトを作成するのは間違っていて、null 値が返されると思うので、上記は間違っていると思います。ログインして表示しようとすると:<c:out value="${user.username}" />何も表示されません。

4

3 に答える 3

0

新しいUserオブジェクトを作成すると、ユーザー名は間違いなく null になります (空のデフォルト コンストラクターのみがある場合)。次のように jsp でユーザー名を取得できます。

<sec:authentication property="principal.username" /> 

上に宣言を追加することを忘れないでください:

<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>

詳しくはこちら

于 2013-09-12T12:33:59.133 に答える