Java 在2个bean和JSF之间传递数据
你好,我正在尝试构建一个登录Bean会话。成功登录后,我可以从数据库中找到一名学生或一名教授。在我得到其中一个之后,我想进入下一个页面,使用学生用户界面或教授用户界面。但是,我如何将对象获取到第二个页面,该页面由一个额外的Bean会话管理?我不知道该怎么办。这里有一些代码可以更好地解释我的问题Java 在2个bean和JSF之间传递数据,java,jsf,javabeans,Java,Jsf,Javabeans,你好,我正在尝试构建一个登录Bean会话。成功登录后,我可以从数据库中找到一名学生或一名教授。在我得到其中一个之后,我想进入下一个页面,使用学生用户界面或教授用户界面。但是,我如何将对象获取到第二个页面,该页面由一个额外的Bean会话管理?我不知道该怎么办。这里有一些代码可以更好地解释我的问题 @Named("login") @Stateless public class LoginManager implements Serializable { @Inject private Logi
@Named("login")
@Stateless
public class LoginManager implements Serializable {
@Inject
private Login login;
private Professor professor;
private Student student;
public String userLogin(Login login) {
// Just some example code
if (login.successful()) {
professor = professorFromDB();
if (professor != null) {
return "ProfessorView";
} else {
Student = studentFromDB();
if (student != null) {
return "StudentView";
}
}
}
return "FalseLogin";
}
// Then all the getter setter
}
那么,如何将我从LoginManager中的DB获得的对象获取到ProfessorManager?
如果有什么不清楚的地方,我可以提供更多的信息,但我相信这应该足以理解我的问题
谢谢你的帮助 好的,解决了。
我添加了@Inject LoginManager LoginManager;从那里带走了教授。没想到会这么简单。:)
我没有faces-config.xml文件,因为我还不需要。我想你有更大的问题。如果一个教授和一个学生同时登录怎么办?这是不会发生的,这是一个大学项目:)啊,在这种情况下,有一个糟糕的设计是可以的。。。
@Named("professor")
@Stateless
public class ProfessorManager implements Serializable{
private Professor professor;
// getter & setter
}
@Named("professor")
@Stateless
public class ProfessorManager implements Serializable{
@Inject
private LoginManager loginManager;
private Professor professor;
@PostConstruct
public void init(){
this.professor = loginManager.getProfessor();
}
// getter & setter
}