如果输入数据与数据库中的数据匹配并且用户ID成功接收,我实现了应该重定向到个人页面的方法,但是如果它是null,则必须重定向到登录页面。如何处理此方法中的null异常?登录过滤器需要loggedIn bolean。感谢您的关注和帮助!
public String getLoginedUser() {
UserDao ud = new UserDao();
sessionBean.setCurrentUser(ud.getSessionUserFromDb(inputLogin, inputPassword));
try {
currentUserId = sessionBean.getCurrentUser().getUserId();
} catch (NullPointerException e) {
System.out.print("Caught the NullPointerException");
}
if(currentUserId != 0){
loggedIn = true;
if(loggedIn = true){System.out.println("Logined successfully");}
return sessionBean.redirectToPersonal();
}
else {
FacesMessage msg = new FacesMessage("Login error!", "ERROR MSG");
msg.setSeverity(FacesMessage.SEVERITY_ERROR);
FacesContext.getCurrentInstance().addMessage(null, msg);
return sessionBean.redirectToLogin();
}
}
答案 0 :(得分:1)
这应该这样做:
if (sessionBean.getCurrentUser() != null) {
currentUserId = sessionBean.getCurrentUser().getUserId()
} else {
System.out.println("Current user is null!");
}
答案 1 :(得分:0)
您需要检查:
if (sessionBean.getCurrentUser() == null)
然后使用您的相关代码