不,那是不可能的.托管属性注入仅在创建bean期间发生.但是,当创建会话范围bean时,不一定存在请求,并且注入的请求范围bean在会话的剩余部分中的后续请求中将无效.
反之亦然.例如
@ManagedBean
@SessionScoped
public class UserManager {
private User current;
// ...
}
Run Code Online (Sandbox Code Playgroud)
和
@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;
}
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4517 次 |
| 最近记录: |