当我尝试联系我的会话以放置变量时,我随机获得了这个激励。
java.lang.NullPointerException
com.sun.faces.context.SessionMap.put(SessionMap.java:123)
com.sun.faces.context.SessionMap.put(SessionMap.java:57)
com.mycompany.servlet.MyCompanySecurityFilter.getVisitUrlMap(MyCompanySecurityFilter.java:130)
我的代码是:
public static Boolean getStatus(FacesContext facesContext){
Map<String,Object> sessionMap = facesContext.getExternalContext().getSessionMap();
Boolean myVariable = (Boolean)sessionMap.get(VISITED);
if(myVariable == null){
myVariable = true;
sessionMap.put( VISITED, myVariable );
}
return visitUrlMap;
}
代码落在的第130行是以sessionMap.put( VISITED, myVariable );
可能导致什么?似乎我的会话以某种方式为null(根据SessionMap源代码)。但为什么呢?