使用 Public render 参数
这种方法在 JSR 286 中引入。
在 JSR 168 中,portlet 的 processAction 中设置的呈现参数仅在该 portlet 中可用。使用 Public Render Parameters 功能,在一个 portlet 的 processAction 中设置的呈现参数也可用于呈现其他 portlet。为了配置这个,对于支持这个的所有 portlet:
在 portlet.xml
中 portlet 标记结束之前添加 <supported-public-render-parameter>
标记
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
<supported-public-render-parameter>{param-name}</supported-public-render-parameter>
</portlet>
在 <portlet-app>
标签结束之前添加 <public-render-parameter>
标签
<public-render-parameter>
<identifier>{param-name}</identifier>
<qname xmlns:x="localhost">x:{param-name}</qname>
</public-render-parameter>
</portlet-app>
在 processAction
方法中,需要在响应中设置 param 值
res.setRenderParameter({param-name},{param-value});
发布完成为所有必需的 portlet 配置此功能后,在执行相关 portlet 的操作阶段后,param 应该在呈现阶段可用于页面上的所有支持 portlet,而不管是相同或不同应用程序的一部分(war )。