我对JSF 2.2 / Primefaces有疑问。
我想根据dataTable中选择的对象设置inputText的值。问题是,当我从dataTable中选择一个对象时,函数“ rowSelect()”没有被调用。
//Target (outside of dataTable)
<h:inputText id="carInput" onclick="PF('carListPopup').show();" value="#{carBean.selectedCar.id}" >
//Table
<p:dataTable id="carListTable" var="car" value="#{carBean.carList}" selectionMode="single" selection="#{carBean.selectedCar}" rowKey="#{car.id}">
//Event
<p:ajax event="rowSelect" listener="#{carBean.rowSelect}" update=":mainForm:addrepair:carInput" process="carListTable" />
//Function on Server
@Named
@RequestScoped
public class CarBean implements Serializable {
Car selectedCar;
public void rowSelect(SelectEvent selectEvent)
{
System.out.println("Row Selected!");
selectedCar = (Car) selectEvent.getObject();
}
public Car getSelectedCar() {
return selectedCar;
}
public void setSelectedCar(Car selectedCar) {
this.selectedCar = selectedCar;
}
}
感谢您的帮助!
答案 0 :(得分:0)
关闭我的IDE后,我得到了深思熟虑的闪电。 我的“ h:dataTable”周围没有“ h:form”标签。 添加标签后,现在显示值。 还是谢谢你!