1

以下是一个由 LoginBean 调用的实用程序类,用于通过 FacesContext 从会话中添加和获取用户对象。

该应用程序使用 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。

您可以调用它UserSupportUserController. 这个 bean 应该有方法getUser ()setUser ()也许还有一些方法可以调用你的服务层。

于 2010-03-02T13:37:23.970 回答
1

我喜欢将这样的东西用作 Spring Bean,这样我就可以在上面注入任何我需要的东西。

再说一次,如果静态方法现在适合您,您可以随时在以后需要时将其设为 bean。

于 2010-03-02T13:19:09.140 回答