ZK portlet加载器是一个通用的加载器。为加载一个特定的ZUML页面,你需要指定一个请求参数,一个portlet 属性或一个被称为zk_page
的首选项,若你想加载一个ZUML页面,或 zk_richlet,若
你想加载一个richlet
。
更确切地说,ZK portlet加载器为ZUML 页面或richlet 的路径检查下列的位置。号码越小,优先级越高。
被称为zk_page
的请求参数(RenderRequest's getParameter
)。若找到了,则它为ZUML页面的路径。
被称为zk_page
的请求属性(RenderRequest's getAttribute
)。
被称为zk_page
的请求首选项(RenderRequest's getPortletPreferences's getValue
)。 若找到了,则它为ZUML页面的路径。
被称为zk_richlet
的请求参数(RenderRequest's getParameter
)。若找到了,则它为 richlet 的路径。
被称为zk_richlet
的请求属性(RenderRequest's getAttribute
)。若找到了,则它为 richlet 的路径。
被称为zk_richlet
的请求首选项(RenderRequest's getPortletPreferences's getValue
) 。若找到了,则它为 richlet 的路径。
被称为zk_page
的初始参数(PortletConfig's getInitParameter
)。若找到了,则它为ZUML页面的路径。
如何将一个请求参数或属性传递到一个portlet取决于portal。你需要参考你最喜欢portal的用户指南获取细节。下面为使用 Potix Portal 的一个例子。
<layout contentType="text/html"> <title>ZK Porlet Demo</title> <header name="Cache-Control" value="no-cache"/> <header name="Pragma" value="no-cache"/> <vbox> <hbox> <servlet page="sample1.zul"/> <portlet name="zkdemo.zkLoader"> <attribute name="zk_page" value="/test/sample2.zul"/> </portlet> </hbox> </vbox> <molds uri="~./pxp/html/molds.xml"/> </layout>