在我的项目中,我有一个Country
课程和Language
课程,他们之间有one-to-many
个关系。我必须在登录用户的基础上显示所有语言。登录用户具有特定国家/地区。使用会话:
我已经为登录用户编写了检索Country
的查询,但我不知道如何将对象放入会话以及如何获取它。
public UsersDetails getUserById(String loggedInUserEid) {
UsersDetails user = null;
try{
user = entityManager.find(UsersDetails.class, loggedInUserEid);
if(user!=null){
System.out.println("userList.get(0).getFirstName()::"+user.getFirstName());
}
}catch(EntityNotFoundException enfEx){
System.out.println("LoggedIn User not found in DB");
}catch(Exception e){
e.printStackTrace();
}
System.out.println("UserDAOImpl.getUserById()::Exit");
return (null!=user) ? user : null;
}
答案 0 :(得分:0)
首先,我不确定上面代码所在的层是什么,这是一个JSF托管bean还是什么?
如果它是JSF托管bean,您可以创建一个用户类来存储您想要的信息,但如果您只想在会话中保存 UserDetails 对象,您可以通过使用FacesContext来实现所以
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("userInfo", getUserById("someId"));
您可以通过
检索会话信息(UsersDetails)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("userInfo");