2011-03-25 48 views
0

我有一個selectOneMenu用於這個樣子JSF:selectOneMenu用於結合值永遠不會設置

<h:form> 
    <h:selectOneMenu value="#{CreateAds.selectedOwnerId}"> 
     <f:selectItem itemLabel="Select a Owner" itemValue=""/> 
     <f:selectItems value="#{CreateAds.availableOwner}" /> 
    </h:selectOneMenu> 
</h:form> 

這裏是我的CreateAdsViewScoped

@ViewScoped 
public class CreateAds extends View {   

private List<SelectItem> availableOwner = null; 

private String selectedOwnerId = null; 

public CreateAds() { 
} 

@PostConstruct 
public void init(){ 
    availableOwner = new ArrayList<SelectItem>(); 
    List<User> users = scholarEJB.findSponsorAndAdmin(); 
    for(User u : users){ 
     availableOwner.add(new SelectItem(u.getId().toString(), u.getFname() + " " + u.getLname())); 
    } 
} 
//getters and setters 
} 

列表顯示正常,但是當值selectedOwnerId屬性從來沒有設置。它的值是null。這裏是我的代碼生成的

<select size="1" name="j_idt50:j_idt51"> 
    <option value="">Select a Owner</option> 
    <option value="19102">Harry Pham</option> 
    <option value="27101">Thomas Chang</option> 
    <option value="27562">Hao Shen Lin</option> 
</select> 
+0

我沒有看到任何地方提交按鈕/腳本和/或操作方法。這不就是過分簡化嗎? – BalusC 2011-03-25 15:42:28

+0

@BalusC:我也意識到這一點。我有我的'commandButton'的不同形式的selectOneMenu。真傻。如果您可以將您的評論置入簡單的快速回答中,那麼我可以接受它。謝謝:D。 – 2011-03-25 15:48:22

回答

2

您需要在相同形式下拉一個命令按鈕/鏈接的HTML。