9
我想要一個會話作用域的JSF bean,其中一個屬性是請求(頁面)作用域。它有可能嗎?在會話作用域中請求作用域屬性JSF bean
我想要一個會話作用域的JSF bean,其中一個屬性是請求(頁面)作用域。它有可能嗎?在會話作用域中請求作用域屬性JSF bean
不,這是不可能的。管理財產注入只有在創建bean時發生。但是,當創建會話作用域bean時,不一定存在請求,並且注入的請求作用域bean將在會話剩餘部分的後續請求中無效。
這樣做是相反的。例如。
@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;
}
}
// ...
}
我試過,但它導致了以下異常:'無法設置管理的Bean我失去了credentials'.What財產的UserManager?我把getter和setter給userManager,但是什麼都沒有.... – Hari 2013-05-27 13:48:19
如果你有一個與原始問題無關的新問題,請按右上角的Ask Question按鈕。不要忘記粘貼完整的堆棧跟蹤,答案通常只是根本原因。 – BalusC 2013-05-27 13:51:24
感謝您的快速回復,這裏是我的問題(剛發佈)。 – Hari 2013-05-27 14:03:20