[英]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.