Передача данных между двумя компонентами JSF - PullRequest
0 голосов
/ 27 января 2020

Здравствуйте, я пытаюсь создать сеанс бина входа. После успешного входа в систему я либо получаю студента или профессора обратно из моей базы данных. После того, как я получу один из них, я хочу перейти на следующую страницу и иметь пользовательский интерфейс или пользовательский интерфейс для работы с профессором. Но как я могу получить Объект на вторую страницу, которая управляется дополнительным сеансом Бина? Я не уверен, как это сделать. Вот некоторый код, который мог бы объяснить мою проблему лучше.

@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 

}


@Named("professor")
@Stateless
public class ProfessorManager implements Serializable{

 private Professor professor;

// getter & setter
}

Итак, как мне получить Объект, полученный из БД в моем LoginManager, моему ProfessorManager? Если что-то не ясно, я могу предоставить больше информации, но я считаю, что этого должно быть достаточно, чтобы понять мой вопрос.

Спасибо за помощь!

1 Ответ

0 голосов
/ 27 января 2020

ОК решил это. Я добавил @Inject LoginManager loginManager; и взял профессора оттуда. Не ожидал, что это будет так просто. :)

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