0

コントローラーが呼び出される前に起動するハンドラーインターセプターを作成する予定です(または、このアクション前の起動を実行します)。

次に、ユーザーのCookieを確認し、CookieのセッションIDに基づいてユーザーオブジェクトを読み込みます。

次に、ユーザーオブジェクトをリクエスト属性に追加します。

コントローラアクションでユーザーオブジェクトを取得したい場合、それを(ユーザー)にキャストしますか?

私は自分のフリーマーカーテンプレートを信じていますが、$ {user.name}を正しく実行できますか?それともuser.getUsernameですか?

4

1 に答える 1

2

まず、ユーザーをセッションに配置して、Cookie>ユーザー変換が各リクエストで発生しないようにすることをお勧めします。

第二に、あなたはそこからそれを得ることができます(セッション/リクエスト)

User user = (User) session.getAttribute(USER_KEY); // this is s String constant

UserHolderまたは、を渡すクラスを作成しHttpSessionてユーザーに提供することで、コントローラーコートのキャストを節約することもできます。

同じアプローチをで使用できますHttpServletRequest

于 2010-07-20T07:16:03.893 に答える