2017-01-06 40 views
0

プログラムでSelectOneMenuの値を設定しようとしていますが、値が設定されません。jsf selectonemenu動的setvalue

は、ソリューションをたくさん検索しようとしましたが、満足のいく答えを見つけることができませんでした。ここで

コードです。

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); 

そして、私はこのコードを使用して値を設定しようとしています:SelectOneMenuを作成するには間違っているのかわからない

FacesContext context = FacesContext.getCurrentInstance(); 
UIViewRoot rootView = context.getViewRoot(); 
SelectOneMenu yesNoDropdown = (SelectOneMenu) rootView.findComponent("formId:yes-no"); 
yesNoDropdown.setValue("no"); 
RequestContext.getCurrentInstance().update("formId"); 

を。どんな助けもありがとう。

+0

JavaではなくXHTMLを使用してください。コンポーネントツリーを指定するのはより自然な言語です。 – BalusC

+0

私はそれを直ちに解決しました:これをしました:yesNoDropdown.setSubmittedValue( "no"); – GSS

+0

あなたの提案に感謝@BalusC。私はこれをxhtmlでやっていただろう(それはもっと簡単できれいだが)私の要求は私にそれを許さない。 – GSS

答えて

0

私はちょうど今それを解決:

yesNoDropdown.setSubmittedValue("no"); 

ありがとう:これをしませんでした!

関連する問題