静的変数を使用して問題を解決しました。Datatable A は、マネージド Bean で次のように入力された dataModel オブジェクトを使用します。
dataModel=new ListDataModel(globalDD.getDetailsList());
ここで、マネージド Bean の globalDD は次のとおりです。
private GlobalDocumentDetails globalDD;
public GlobalDocumentDetails getGlobalDD() {
return SessionBeanUtility.getGlobalDD();
}
public void setGlobalDD(GlobalDocumentDetails globalDD) {
this.globalDD = globalDD;
}
そして、SessionBeanUtility.getGlobalDD() は
public static GlobalDocumentDetails getGlobalDD(){
if (FacesUtil.getPortletSession().getAttribute(GLOBAL_DD_BEAN_KA, PortletSession.APPLICATION_SCOPE) == null)
{
new GlobalDocumentDetails();
FacesUtil.getPortletSession().setAttribute(GLOBAL_DD_BEAN_KA, new GlobalDocumentDetails(), PortletSession.APPLICATION_SCOPE);
}
return (GlobalDocumentDetails)FacesUtil.getPortletSession().getAttribute(GLOBAL_DD_BEAN_KA, PortletSession.APPLICATION_SCOPE);
}
データテーブル B にはショッピング カートのアイテムが含まれており、カートは静的オブジェクトです。2 つのデータテーブルの actionListeners メソッドで質問に書いたコードを使用して、両方を更新します。