我想,當我選擇第一SelectOnMenu.So的任何項目有我的兩個selectOneMenu用於更新第二selectOneMenu用於:JSF 2 selectOneMenu用於更新其他selectOneMenu用於
<p:outputLabel value="Table :" />
<p:selectOneMenu id="tbName">
<f:selectItem itemLabel="Select Table" itemValue="" />
<f:selectItems value="#{infoTable.nameTa}" />
</p:selectOneMenu>
<p:outputLabel value="Foreignenkey :" />
<p:selectOneMenu id="cat">
<f:selectItem itemLabel="Select Column" itemValue="" />
<f:selectItems value="#{infoTable.fkName}" />
</p:selectOneMenu>
,這是他的Java代碼:
public List<SelectItem> getNameTa() {
List<SelectItem> subcat = new ArrayList<SelectItem>();
try {
ConnectionBase con = new ConnectionBase();
TableInfo tt = new TableInfo();
List<String> rs = tt.getTable(con, "%");
Iterator i = rs.iterator();
while (i.hasNext()) {
subcat.add(new SelectItem(i.next()));
}
} catch (Exception e) {
e.getStackTrace();
}
return subcat;
}
public List<SelectItem> getFkName() {
List<SelectItem> subcat = new ArrayList<SelectItem>();
// if (catname != null && !catname.equals("")) {
try {
// Connection con = Database.getConnection();
ConnectionBase con = new ConnectionBase();
TableInfo tt = new TableInfo();
List<String> rs = tt.getNameCtable(con, "%");
Iterator i = rs.iterator();
while (i.hasNext()) {
subcat.add(new SelectItem(i.next()));
}
} catch (Exception ex) {
}
// }
return subcat;
}
因爲我知道我應該做一個eventLestner,但我不知道如何以及何時從第一個selectonemenu獲取表的名稱如何將名稱發送到第二個方法「getFkName」?
你見過我們的[selectonemenu wiki](http://stackoverflow.com/tags/selectonemenu/info)嗎?有一章解釋了這一點。 – perissf