我有一个 selectOneMenu 看起来像这样
<h:form>
<h:selectOneMenu value="#{CreateAds.selectedOwnerId}">
<f:selectItem itemLabel="Select a Owner" itemValue=""/>
<f:selectItems value="#{CreateAds.availableOwner}" />
</h:selectOneMenu>
</h:form>
这是我的CreateAds
ViewScoped
豆子
@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。这是我的代码生成的html
<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>