本文主要是介绍Liferay研究之十二:对Liferay框架的几点分析总结 收藏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Liferay 研究之十二:对 Liferay 框架的几点分析总结 收藏
一、 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 , <sql id=" 查询类的查询方法 ">
五、数据结构分析
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研究之十二:对Liferay框架的几点分析总结 收藏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!