[英]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.