2014-01-09 84 views

回答

0

在你的支持bean(你的例子中的YourBean)中,你應該有一個字符串數組(或帶有getter方法的對象返回你想要的字符串)。例如讓我們假設你有你的支持bean下面的代碼:

private ArrayList<String> logins; // read from DB 
private String selectedLogin; // this will hold the selected value 

// this method will be called by the JSF framework to get the list 
public ArrayList<String> getLogins() 
{ 
    return logins; 
} 

public String getSelectedLogin() 
{ 
    return selectedLogin; 
} 


public String setSelectedLogin(String sl) 
{ 
    selectedLogin = sl; 
} 

在你的Facelets頁面,假設你在JSF 2.x的:

<h:selectOneMenu value="#{YourBean.selectedLogin}"> 
      <f:selectItems value="#{YourBean.logins}" itemLabel="#{l}" itemValue="#{l}" var="l"/> 
</h:selectOneMenu> 

這將創建一個所有選擇菜單數組中的選項。提交表單後,該值將被設置爲您的支持bean的字符串值。

+0

工程很棒。非常感謝你!祝你有個愉快的日子:) – Zyngi

+0

不客氣。 – elbuild

+0

我出現了1個小問題。當我在代碼中使用「itemValue =」#{l}「」時,頁面不會加載到我,因此我跳過了它。但是如果沒有它,bean將無法讀取所選值並始終爲空。你知道我在這種情況下可以做什麼,爲什麼頁面不想加載「itemValue」? – Zyngi