我在p:datatable
中使用多个值的选择时已经跟随此链接http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf
现在,当我从中选择多个值并单击表单中的按钮时,它应该调用bean中正常工作的方法。但是所选值列表为空。我在这里阅读帖子并且oucld没有找到解决方案。我也尝试了不同的方法,但没有成功。
JSF代码:
<p:dataTable value="#{deviceController.devicesModel}" var="deviceList" widgetVar="deviceTable" selection="#{deviceController.selectedDevices}>
<p:column sortBy="#{deviceList.manufacturerSerialNum}" filterBy="#{deviceList.manufacturerSerialNum}">
<f:facet name="header">
<h:outputText value="Manufacturer Serial No"/>
</f:facet>
<h:outputText value="#{deviceList.manufacturerSerialNum}" />
</p:column>
<p:column selectionMode="multiple">
<f:facet name="header">
<h:outputText value="#{bundle.ListLaptopTitle_inService}"/>
</f:facet>
</p:column>
</p:dataTable>
<p:commandButton action="#{deviceController.update(deviceController.selectedDevices)}" value="Submit Request" style="margin-top: 20px"/>
Bean中的代码:
public String update(List updateDevice){
try {
for(Device d:updateDevice)
{
getFacade().edit(d);
}
//message which indiactes device update is successful
return "/example.html";
} catch (Exception e) {
//handling exception
return null;
}
}
所以从页面我传递的是deviceController.selectedDevices的值,当检查时它是空的。
由于