1

p:datatable で複数の値の選択を使用してこのリンクをたどりました

http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf

そこから複数の値を選択してフォームのボタンをクリックすると、正常に動作している Bean のメソッドが呼び出されますが、選択された値のリストは空です。ここの投稿を読みましたが、解決策がわかりません。別の方法も試しましたが、うまくいきませんでした。

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 の値を渡しています。

ありがとう

4

0 に答える 0