我的会话范围和视图范围的托管bean表现为请求范围的bean。我使用的是Mojarra 2.2.8-11(从2.2.0更改)。
在视图和会话范围的bean中,每个请求都会调用构造函数。并且,在下面的bean中,我将用户名设置为会话属性:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class Login {
private String username;
private String password;
public String login(){
if(username.equals("admin") && password.equals("admin")){
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
session.setAttribute("username", username);
return "home";
}
return "error";
}
稍后访问时,会突然null
。
这是如何引起的?如何解决?