|
Liferay是經(jīng)過商業(yè)考驗(yàn)的開源Portal項(xiàng)目,它自帶了豐富的Portlet和例子。 Progress is the activity of today and the assurance of tomorrow . Liferay Portal企業(yè)版,構(gòu)建在Portlet API(JSR 168之上)并且有為用戶提供了豐富的Portlets。 I.HelloWorld a.這個Portlet定義在 /portal-web/docroot/WEB-INF/portlet.xml中: <portlet> 這個Portlet的唯一標(biāo)識:47. 這個HelloWorldPortlet擴(kuò)展自 Javax.portlet.GenericPortlet.源代碼:source 它僅僅是打印出 Hello World字樣。 標(biāo)題定義在Portlet-info中。用戶必須擁有Power User或者是User權(quán)限才能訪問這個Portlet.指定何種roles可以在運(yùn)行期通過Admin Portlet來指定。 b.可以為Porltet添加額外的定義: /portal-web/docroot/WEB-INF/liferay-portlet.xml <portlet id="47" struts-path="hello_world" narrow="true" /> id值是上面定義過的Portlet的唯一標(biāo)識。 Struts-path值告訴Struts 所有包含Http://localhost/c/hello_world/*的請求都屬于這個Portlet自己的域。 narrow值,如果為真,意味著在窄行中現(xiàn)實(shí)這個Portlets。當(dāng)然,可以通過Admin portlet來在運(yùn)行期修改。 c.這個portlet顯示的信息在/portal-web/docroot/WEB-INF/liferay-display.xml這容許用戶通過個性化定制頁面來添加它。 <category name="category.test"> 當(dāng)用戶轉(zhuǎn)動個性化頁面,點(diǎn)擊一個分類來選擇一個porltet,那么你可以在關(guān)鍵詞為category.test的分類中找到這個portlet。這個關(guān)鍵詞的值可以定義在/portal-ejb/classes/content/Language.properties. category.test=Test II.IFrame a.它定義在/portal-web/docroot/WEB-INF/portlet.xml <portlet> IFramePortlet類繼承自 javax.portlet.GenericPortlet。它們代碼:source 它僅僅是打印一個IFRAME tag的代碼來應(yīng)用外部站點(diǎn)的內(nèi)容。 scr 指定綁定到外部資源的地址。 auth:需要認(rèn)證否 auth-type 可以選擇basic或者是form,認(rèn)證方式,是通過添加URL信息認(rèn)證還是需要表單認(rèn)證。 form-method 值可以設(shè)置為get或者是post。 user-name認(rèn)證所需的用戶名 password:密碼 b.標(biāo)題通過StrutsResourceBundle取得,配置在 /portal-ejb/classes/content/Language.properties. javax.portlet.title.48=IFrame. c.額外的配置在/portal-web/docroot/WEB-INF/liferay-portlet.xml中: <portlet id="48" struts-path="iframe" /> |
|
|