我刚刚创建了一个登录托管Bean并且完美地工作。它取得了电子邮件和密码的价值。JSF从一个托管bean获取值作为参数
现在,我的问题是如何通过由LoginBean.java我UserBean.java获得的电子邮件的价值。
index_customer.xhtml
<h:outputText value="#{userBean.firstname}"/>
UserBean.java
@ManagedBean(name="userBean")
public class UserBean {
private static String firstname;
private String lastname;
private String email;
private String password;
public String firstname(String email){
String fname;
UserDAOImpl userDAOImpl = new UserDAOImpl();
fname = userDAOImpl.getFirstName(email);
return fname;
}
}
LoginBean.java
@ManagedBean(name = "loginBean")
public class LoginBean {
private String email;
public String getEmail() {
return email;
}
}
哪有我打电话给方法getEmail()
并提供电子邮件作为UserBean
的firstname(email)
方法的参数?
这可能吗?我问的原因是,我要确定谁登录的用户的名字和显示类似“你好YourFirstName”使用EL表达式上<h:outputText value="#{userBean.firstname}"/>
我与前摆的工作,但我知道,事情与web不同,所以我猜静态变量不是在JSF中从一个类到另一个类获取变量值的正确方法。
我UserDAOImpl.getFirstName(email)
方法有一个SQL查询,这是事先
String SQL = "SELECT firstname from customer WHERE emailcolumn = email;
感谢。我会很感激任何帮助。
了解注射。如果您是jsf的新手,请使用cdi托管的bean,而不要使用(某种)已弃用的特定于jsf的bean – Kukeltje