0
我想在JSF中創建組合框(selectOneMenu)。我想用來自數據庫的一列中的所有登錄名(SELECT登錄數據庫)填充此組合框。從數據庫動態創建的組合框(JSF)
從任何幫助將gratefull很多。
我想在JSF中創建組合框(selectOneMenu)。我想用來自數據庫的一列中的所有登錄名(SELECT登錄數據庫)填充此組合框。從數據庫動態創建的組合框(JSF)
從任何幫助將gratefull很多。
在你的支持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的字符串值。
工程很棒。非常感謝你!祝你有個愉快的日子:) – Zyngi
不客氣。 – elbuild
我出現了1個小問題。當我在代碼中使用「itemValue =」#{l}「」時,頁面不會加載到我,因此我跳過了它。但是如果沒有它,bean將無法讀取所選值並始終爲空。你知道我在這種情況下可以做什麼,爲什麼頁面不想加載「itemValue」? – Zyngi