0
我試圖以編程方式設置SelectOneMenu
的值,但該值沒有設置。jsf selectonemenu動態設置值
試圖尋找解決方案很多,但一直沒找到滿意的答案:
這裏是代碼。要創建SelectOneMenu
:
SelectOneMenu yesNoDropdown = new SelectOneMenu();
List<SelectItem> items = new ArrayList<SelectItem>();
items.add(new SelectItem("", ""));
items.add(new SelectItem("yes", "Yes"));
items.add(new SelectItem("no", "No"));
UISelectItems selectOptions = new UISelectItems();
selectOptions.setValue(items);
yesNoDropdown.getChildren().add(selectOptions);
yesNoDropdown.setId("yes-no");
yesNoDropdown.setRequired(true);
,我試圖用這個代碼來設置值:
FacesContext context = FacesContext.getCurrentInstance();
UIViewRoot rootView = context.getViewRoot();
SelectOneMenu yesNoDropdown = (SelectOneMenu) rootView.findComponent("formId:yes-no");
yesNoDropdown.setValue("no");
RequestContext.getCurrentInstance().update("formId");
不知道什麼是錯的。任何幫助將不勝感激。
只需使用XHTML而不是Java。指定組件樹是更自然的語言。 – BalusC
我剛剛解決了它:做了這個:yesNoDropdown.setSubmittedValue(「no」); – GSS
感謝@BalusC的建議。我會這樣做在xhtml(這是更容易,更漂亮),但我的要求不允許我這樣做。 – GSS