簡體   English   中英

在 session 范圍內請求 JSF bean 中的范圍屬性

[英]request scoped property in session scoped JSF bean

我想要一個 session 范圍的 JSF bean,其中一個屬性是請求(頁面)范圍。 有可能嗎?

不,那是不可能的。 托管屬性注入在創建 bean 期間發生。 但是,當創建 session 范圍 bean 時,不一定存在請求,並且注入的請求范圍 bean 在 session 剩余部分中的后續請求中將無效。

反過來做。 例如

@ManagedBean
@SessionScoped
public class UserManager {

    private User current;

    // ...
}

@ManagedBean
@RequestScoped
public class Login {

    private String username;
    private String password;

    @ManagedProperty(value="#{userManager}")
    private UserManager userManager;

    @EJB
    private UserService userService;

    public String submit() {
        User user = userService.find(username, password);

        if (user != null) {
            userManager.setCurrent(user);
            return "home?faces-redirect=true";
        } else {
            addErrorMessage("Unknown login, please try again");
            return null;
        }
    }

    // ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM