![](/img/trans.png)
[英]How to grab a value from one managed bean and use it to set another managed bean's property on post back
[英]JSF Obtaining value from one managed bean to another as argument
我剛剛創建了一個Login Managed 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)
方法?
這可能嗎? 我問的原因是,我想標識登錄用戶的名字,並使用<h:outputText value="#{userBean.firstname}"/>
上的EL表達式顯示類似“ Hello YourFirstName ”的內容。
我之前使用過swing,但我知道Web上的情況有所不同,因此我猜想靜態變量不是在JSF中將變量值從一個類獲取到另一個類的正確方法。
我的UserDAOImpl.getFirstName(email)
方法有一個SQL查詢,它是
String SQL = "SELECT firstname from customer WHERE emailcolumn = email;
提前致謝。 我將不勝感激。
只需將getEmail的返回值傳遞給firstName方法作為參數即可。
<h:outputText value="#{userBean.firstname(loginBean.email)}"/>
但是,當然還有其他一些細節。 您應該將這種數據保留在會話作用域bean中。 而且,每次獲得數據庫訪問權限都不是很健康。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.