Tôi đang thử nghiệm thành phần "SelectOneMenu" trên trang jsf. Tôi đang populating thành phần này dinamically mặc dù ManageBean của tôi (mà sẽ nhận được tất cả các động vật từ cơ sở dữ liệu).Nhận giá trị được chọn của một SelectOneMenu
Tôi muốn biết nếu có thể thấy mục người dùng đã chọn của "SelectOneMenu" đó (combobox), tôi đang thử với giá trị = "# {animalsManage.animalSelect}" nhưng nó chỉ được gọi ngay từ đầu của trang. Ngoài ra, tôi đang sử dụng một inputText để xem giá trị của intem được chọn của "SelectOneMenu".
Tôi đang làm gì sai?
JSF:
<body>
<ui:component>
<h:form>
<h:outputText value="Select one Mets File" />
<h:selectOneMenu id="combo" value="#{animalsManage.animalSelected}">
<f:selectItem itemLabel="Select..." noSelectionOption="true"/>
<f:selectItems value="#{animalsManage.allAnimals}" />
</h:selectOneMenu>
<h:inputText id="textbox" value="#{animalsManage.animalSelected }" />
</h:form>
</ui:component>
</body>
ManageBean:
@ManagedBean
@ViewScoped
public class AnimalsManage implements Serializable {
@EJB
private AnimalsFacadeREST animalsFacadeREST;
private String animalSelected;
private List< SelectItem> selectAnimals;
public List<SelectItem> getAllAnimals() {
List<Animals> al = animalsFacadeREST.findAll();
selectAnimals = new ArrayList< SelectItem>();
int i = 0;
for (Animals animal: al) {
selectAnimals.add(new SelectItem(i, animal.getName()));
i++;
}
return selectAnimals;
}
public String getAnimalSelected() {
return animalSelected;
}
public void setAnimalSelected(String animalSelected) {
this.animalSelected = animalSelected;
}
}
bạn chỉ có thể thêm f: ajax bên trong với sự kiện là "thay đổi" và cũng cung cấp thuộc tính kết xuất có giá trị "@form". Điều này có thể hiển thị giá trị đã chọn của bạn trong hộp văn bản. Một cái gì đó như thế này ** **. Hãy thử đi. –
'# {fileManage.fileName}' là gì? Nhân tiện, một '' hiển thị một trình đơn thả xuống, không phải là một combobox. Nhận các điều khoản của bạn thẳng. Cuối cùng nhưng không kém phần quan trọng, thực hiện logic nghiệp vụ trong một getter là Bad. Đối với một số gợi ý về cách sử dụng '' đúng cách, kiểm tra trang wiki của nó (đặt con chuột lên trên thẻ '[selectonemenu]' mà bạn đặt vào câu hỏi cho đến khi hộp đen xuất hiện rồi nhấn vào đó liên kết * thông tin *). –
BalusC
Cảm ơn hemanth nó đã giúp. Ngoài ra, cảm ơn BalusC Tôi đã chỉnh sửa văn bản hy vọng nó là tốt ngay bây giờ. – iGoDa