Tambahkan p:commandButton ke header primefaces dengan f:attribute

Saya memiliki halaman dengan kolom p:datatable dan dinamis. Saya mencoba menambahkan tombol perintah ke header dengan atribut f: sebagai nilai untuk klik tombol perintah. masalahnya saya tidak masuk ke server sama sekali saat menekan tombol header. ini cuplikan kodenya

<p:dataTable >
    <p:columns value="#{controller.columnsTitles}" var="column" columnIndexVar="colIndex">
        <f:facet name="header">
            <p:panel >
                <table>
                    <tr>
                        <th>
                            <p:panel>
                                #{column.label}
                            </p:panel>
                        </th>
                    </tr>
                    <tr>
                    <th>
                        <h:panelGroup >
                            <p:commandButton value="Add" actionListener="#{controller.doStaff}">
                                <f:setPropertyActionListener value="#{column.value}" target=#{controller.selectedToEdit}" />
                            </p:commandButton>
                        </h:panelGroup>
                    </th>
                </tr>
            </table>
        </p:panel>

    </f:facet>
<p:column>
    ......
</p:column>
</p:columns>
</p:dataTable>

[Sunting] Saya menemukan solusi untuk masalah ini. Ke tombol perintah saya menambahkan acara onClick yang meneruskan parameterselectToEdit ke fungsi javascript yang pada gilirannya memanggil p:remoteCommand yang meneruskan parameter ke server. Saya juga mengubah actionListener dari commandButton menjadi action dan sekarang berfungsi.

Sekarang kodenya terlihat seperti berikut:

<script>
function jsFunc(param)
{
    command([{name:'selectedToEdit',value:selectedToEdit}]);
}
</script>
.....
<p:remoteCommand name="command" actionListener="#{controller.selectedToEdit}" />
<p:commandButton value="Add" action="#{controller.doStaff}" onclick="jsFunc('#{column.value}')" />

person user1927865    schedule 03.07.2013    source sumber
comment
silakan coba tambahkan ajax=false atau gunakan tombol perintah jsf murni untuk tujuan pengujian di suatu tempat di kode Anda ada bug   -  person Subodh Joshi    schedule 03.07.2013
comment
primefaces menggunakan ajax="true" sebagai default. jika Anda ingin perilaku tombol normal, Anda perlu menyetel if ke false secara eksplisit   -  person Przemek    schedule 03.07.2013
comment
Terima kasih atas balasan Anda. tidak ada saran Anda yang tidak berhasil untuk saya.   -  person user1927865    schedule 03.07.2013
comment
apa yang Anda log katakan ketika Anda menekan tombol? apakah kacangnya bisa dijangkau? bagaimana tampilan metode Anda dalam kacang?   -  person Przemek    schedule 03.07.2013
comment
@Przemek Saya menemukan solusinya. silakan lihat hasil edit saya.   -  person user1927865    schedule 03.07.2013
comment
Anda dapat meneruskan nilai ke kacang dengan cara jsf asli. Lihat semuanya di stackoverflow.com/questions/9701590/ atau stackoverflow.com/questions/4888942/   -  person Przemek    schedule 03.07.2013