2
我有一個JSF應用程序,我需要根據頁面的某些參數動態創建幾乎所有的UIComponent。組件被創建並添加到HtmlPanelGrid。我一直在成功創建HtmlLabel,HtmlInputText,UISelectBoolean和HtmlCommandButton。現在我需要創建一個HtmlSelectOneMenu並添加它,並且我很難找到示例來展示如何附加要選擇的項目列表。動態創建HtmlSelectOneMenu - 分配SelectItem列表
選擇列表是這樣的,我在那裏做了cfaItems我支持bean的屬性:
SelectItem[] cfaItems = {
new SelectItem(1, "1"),
new SelectItem(2, "2"),
new SelectItem(3, "3"),
new SelectItem(4, "4"),
new SelectItem(5, "5")
};
的HtmlSelectOneMenu的創建:
HtmlSelectOneMenu cfaMenu = (HtmlSelectOneMenu)
getApplication().createComponent(HtmlSelectOneMenu.COMPONENT_TYPE);
cfaMenu.setId("cfaMenu");
grid.getChildren().add(cfaMenu);
是最好的,我自己看着辦吧我需要創建一個將cfaItems列表綁定到cfaMenu的ValueExpression,但是找不到任何示例是一個問題。我認爲我需要做這樣的事情
String menuBinding =
"#{" + beanName + ".cfaItems}";
ValueExpression menuVE = getApplication().getExpressionFactory().
createValueExpression(FacesContext.getCurrentInstance().
getELContext(), menuBinding, String.class);
cfaMenu.setValueExpression("value", menuVE);
但我不認爲這是正確的。有什麼建議麼?
謝謝 - 這是我需要的缺失步驟。 –