私はこの投稿と同じ問題を抱えています: p:commandButton ajax が p:dataList 内で呼び出されていません
ap:dataList に配置されている場合、ap:commandButton のアクション / actionListener は呼び出されません。
私はアドバイスに従い、p:commandButton を ap:column でラップしました。また、テストのために、次のコードに従いました: Primefaces p:commandButton with action not called
..アクションと actionListener の両方をテストして、バッキング Bean に ajax 呼び出しを送信しようとします。
両方とも p:dataList の外側に置かれたときに呼び出されます.. 内側にあるときは決して呼び出されません。
これが私のバッキングビーンです:
@ManagedBean
@SessionScoped
public class FullScreenDashboardBean implements Serializable {
...
public String testButtonAction() {
log.info("testButtonAction invoked");
return "";
}
public void testButtonActionListener(ActionEvent event) {
log.info("testButtonActionListener invoked");
}
...
}
/////////////////
// xhtml コード: ...
<div class="left_content">
<h:form id="leftContentForm">
<p:dataList value="#{clientTargetURLsBean.clientAndTUrlList}" var ="selectedClients" id="selectedClientListTest" paginator="false" type="none">
<p:column>
<p:commandButton action="#{fullScreenDashboardBean.testButtonAction}"/>
<p:commandButton actionListener="#{fullScreenDashboardBean.testButtonActionListener}"/>
</p:column>
</p:dataList>
...
</h:form>
</div>
どちらも、データリストの外部にある場合はバッキング Bean のリスナーを起動しますが、内部に配置された場合は起動しません....
どんなアイデアでも大歓迎です...
ありがとう、stackoverflow-ers!