我正在尝试从managedbean访问sessioncontroller(sessionscoped bean)中的对象。当你登录时会创建sessionobject。然后当我尝试从requestscoped bean持久化并且我需要来自sessioncontroller的login-object但是当我调试它时总是为null。
豆
@ManagedBean
@ViewScoped
// ??? @RequestScoped
public class BoekingController {
@Inject
private ZoekService zoekService;
@Inject
private BetaalwijzeService betaalwijzeService;
@EJB
private transient BoekingService boekingService;
@ManagedProperty("#{sessionController}")
private SessionController sessionController;
public void init() {
if (betaalwijzeId > 0) {
betaalwijze = betaalwijzeService.findToegestandBetaalwijze(betaalwijzeId);
}
reis = zoekService.findReis(reisId);
if (aantalPersonen > 0) {
instellenBoeking(aantalPersonen, betaalwijze, new Klant(1, "Test", "test@test.be", "test"), reis);
}
}
正如你所看到我自己硬编码了对象并且持久性有效,我只是无法从下面发布的sessionController中获取变量。
SessionController
@SessionScoped
@Named(value = "sessionController")
public class SessionController implements Serializable{
Klant klant;
public Klant getKlant() {
return klant;
}
public void setKlant(Klant klant) {
this.klant = klant;
}
在页面上,我可以使用以下方式访问sessionobject:#{sessionController.klantNaam}
答案 0 :(得分:0)
注释ManagedProperty
,如链接的javadoc中所述,应该用于注入一个用ManagedBean
注释的JSF bean。
使用Inject
注释注入CDI bean。