Liferay 對Liferay框架的幾點分析總結

2021-07-05 02:01:32 字數 1773 閱讀 5912

一、jsp中如何使用tab

liferay的jsp頁面中,如果用了tab的選項,則tab1為第一層,tab2為第二層,tab3為第三層,從上到下,為父子關係。

如何開發乙個帶選擇框的列表應用?

1、建立資料庫模型(廢話)

2、建立dao及相關portlet.service服務框架,介面和util

3、實現服務介面;

4、開發對應的jsp頁面;

5、開發相應的action;

6、在liferay中進行配置portlet

這裡重點說一下如何開發jsp頁面的內容。

頁面一:初始化頁面init.jsp

引入需要的包,類以及一些初始化工作;

頁面二:查詢、顯示頁面 view.jsp, search.jsp,search_contents.jsp

可以根據group, article name進行查詢,查詢結果在同乙個頁面中顯示,用帶選擇框的列表。

二、內建portlet

有一些portlet是內建的,並沒有在liferay-display.xml中配置進行顯示,但是卻會被其他portlet引用,比如:id:87, layout configuration; id 88, layout management; id 90:, portal; id 92:messaging, id 103:tags compiler, id 113:portlet css 

三、如何自動生成初始化資料?

在系統中,通過一些系統變數的設定,以及vm模板的應用,可以通過dbbuilder來產生預設的系統初始化資料sql,具體請參見dbbuilder, dbutil.buildtemplate(), evaluatevm()的實現,以及portal-data-sample.vm

四、如何實現客戶化定製查詢?

portal-impl/classes/custom-sql/default.xml中定義自定義查詢的sql列表,具體哪個模組有對應的xml做定義,比如journal.xml,

五、資料結構分析

liferay中每個page(layout)的介面順序是通過layout表的priority,layoutid, parentlayoutid欄位來確定的。

organization_表中儲存組織和場所,通過location=0 or 1來區分是組織還是場所;

usergroup 儲存使用者組,user group與community, organization, locations不同,僅僅是用來做實現管理的便捷性。比如,將使用者分組,然後對這個組進行分配角色,這樣所有組中的使用者就都有了該角色,在資料庫儲存中,通過usergrouprole的關聯,與users_roles並列。

group_表中儲存communities, organizations, user

role_表儲存所有角色,其中type_ = 1表示是常規角色, type_=2表示是communities角色

account_ company_ 一起儲存instance中儲存的資料;

user_表和contact_表:如果是自己註冊的使用者(或者系統自帶的預設使用者),則user_.userid = contact_.contactid - 1;如果是管理員建立的 contact_.userid = 建立人id;因此從另外乙個角度來說,建立使用者的步驟應該是先在user_表中建立記錄,然後再到contact_表中插入;

使用者註冊,如果指定了乙個組織的話,則會在註冊時users_orgs中插入對應記錄

Liferay對union的處理

liferay中在finder裡面不支援unio的查詢,建議採用原生sql方式查詢 如下 獲取待辦流程 優化後的方法 只需要id字串集合 public static string getflow2 actionrequest request,long userid string flowids 獲取...

liferay 4 liferay的許可權體系

liferay中有幾個概念 1 user 表存放liferay的使用者 2 usergroup 使用者組 3 角色 4 組織,組織可以是站點的成員 5 站點 6 團隊 liferay中所有的東西都被視為是資源 而許可權和資源掛鉤 在liferay裡面儲存許可權的表主要涉及兩個表,乙個叫resourc...

liferay傳送郵件

在liferay中 有時候我們會想用系統配置的郵箱對外傳送信件,實現方式如下 1.在控制面板中配置好傳送郵件的賬號。2.在 中使用 string fromaddress prefspropsutil.getstring propskeys.mail session mail smtp user in...