我正在學習Oracle教程,同時爲Java EE上課,我希望創建一個基於選定哪個單選按鈕來填充的下拉菜單。JSF根據單選按鈕選擇填充單個(不是多個)下拉框
爲了進一步澄清,因爲這被標記爲重複,而不是。我有一個單選按鈕和一個下拉菜單。我希望我的下拉菜單中填充來自我支持bean中四個數組之一的數據。如果單選按鈕的選擇發生變化,我希望下拉菜單中的數據根據無線電選擇中選擇的內容進行更改。
只是要清楚,這不是一項任務。
我有一些代碼片段是你在下面看到的。
此代碼使用我在我的bean中爲「makeHonda」所擁有的字符串數組呈現下拉列表。它會自動呈現它是否被選中。我希望它能根據點擊單選按鈕更新車型的下拉菜單。
我已經看過幾個不同的問題,並且還查找了Oracle教程,並且我只是沒有找到所需的東西。我所看到的大多數問題似乎都有自己的背景,與我正在嘗試做的不同。
這些都是在我的豆
private String[] carMake = {"Honda", "Nissan", "Suzuki", "Toyota"};
private String[] makeHonda = {"Civic", "NSX"};
private String[] makeNissan = {"Fairlady 420Z", "Sylvia S13"};
private String[] makeSuzuki = {"Cappuccino", "Jimny"};
private String[] makeToyota = {"Altezza RS200", "Crown"};
private String makeSelection;
private String carModels;
這東西是在XHTML文件
<label>Favorite Car Maker: </label>
<h:selectOneRadio id="carMake" value="#{controller.makeSelection}" required="true" label="Action">
<f:selectItems value="#{controller.carMake}"/>
<f:ajax render="carModels" />
</h:selectOneRadio>
<!-- Car Models Drop Down Appears After Car Selection -->
<label>Favorite Car Model: </label>
<h:selectOneMenu id="carModels" value="#{controller.carModels}">
<f:selectItems value="#{controller.makeHonda}" rendered="#{controller.makeSelection eq 'Honda'}"/>
</h:selectOneMenu>
有什麼不同,它不是重複的(我認爲它是) – Kukeltje
他從一個下拉列表中創建了一個下拉列表,然後是另一個下拉列表,然後是另一個下拉列表。多個下拉框,而不是單個下拉框,它基於單選按鈕改變其內部的數據。也即時通訊不完全確定他在用什麼'@EJB private SomeService someService;'但我的代碼不使用它。所以我的問題和我解決問題的方式是不同的。 – Morgan
如果您擁有/使用一個或多個相關組件,則該概念不會有所不同。所以這部分並不真正起作用。 '@ EJB'可能會有所不同,但這不是最相關的部分,但它現在很有用......乾杯 – Kukeltje