Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在2个bean和JSF之间传递数据_Java_Jsf_Javabeans - Fatal编程技术网

Java 在2个bean和JSF之间传递数据

Java 在2个bean和JSF之间传递数据,java,jsf,javabeans,Java,Jsf,Javabeans,你好,我正在尝试构建一个登录Bean会话。成功登录后,我可以从数据库中找到一名学生或一名教授。在我得到其中一个之后,我想进入下一个页面,使用学生用户界面或教授用户界面。但是,我如何将对象获取到第二个页面,该页面由一个额外的Bean会话管理?我不知道该怎么办。这里有一些代码可以更好地解释我的问题 @Named("login") @Stateless public class LoginManager implements Serializable { @Inject private Logi

你好,我正在尝试构建一个登录Bean会话。成功登录后,我可以从数据库中找到一名学生或一名教授。在我得到其中一个之后,我想进入下一个页面,使用学生用户界面或教授用户界面。但是,我如何将对象获取到第二个页面,该页面由一个额外的Bean会话管理?我不知道该怎么办。这里有一些代码可以更好地解释我的问题

@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
}