1

以下は、FacesContext を介してセッションから User オブジェクトを追加および取得するために、LoginBean によって呼び出されるユーティリティ クラスです。

アプリケーションはSpringを使用しています。アノテーションを使用する必要がありますか、それともこの種のクラスに静的メソッドを含めることは受け入れられている方法ですか? アノテーションが推奨される場合、@Component または @Service を使用する必要がありますか?

// Annotate as Service/Component?
public class WebUtils {

// Add user object to session
public void setUser( User user ){
    FacesContext context = FacesContext.getCurrentInstance();
    context.getExternalContext().getSessionMap().put( "user", user );
}

// Get user from session
public User getUser( FacesContext context ){
    if( context != null )
        return (User) context.getExternalContext().getSessionMap().get("user");

    return null;
}
4

2 に答える 2

3

目的に応じて、セッションスコープで別のSpring Beanを作成することをお勧めします。

UserSupportまたはと呼ぶことができますUserController。この Bean にはメソッドが必要getUser ()であり、場合setUser ()によってはサービス層を呼び出すいくつかのメソッドが必要です。

于 2010-03-02T13:37:23.970 に答える
1

このようなものをSpring Beanとして持つのが好きなので、必要なものを何でも注入できます。

繰り返しになりますが、静的メソッドが現在機能している場合は、後で必要になったときにいつでも Bean にすることができます。

于 2010-03-02T13:19:09.140 に答える