簡體   English   中英

ICEFaces 1.8在不同portlet中的渲染(liferay)

[英]ICEFaces 1.8 Rendering in different portlets (liferay)

我有兩個Portlet:第一個包含:數據表A ,第二個包含:數據表B。 這兩個portlet顯示在同一頁面中。 單擊數據表B中的命令按鈕后,我想刷新數據表A。

命令按鈕調用的方法包含以下代碼:

OnDemandRenderer onDemandRenderer = getRenderManager().getOnDemandRenderer("RENDER_GROUP");
onDemandRenderer.requestRender();

但這是行不通的。 誰能幫我嗎? 一些提示? 在此先感謝您的幫助!

我使用靜態變量解決了問題。 數據表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包含購物車中的商品,並且該購物車是靜態對象。 我使用我在兩個數據表的actionListeners方法中的問題中編寫的代碼來刷新兩者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM