Note: This document is part of the Liferay Core Development Guidelines

Introduction #

This article describes the main technologies used within Liferay as well as which of their features of them are being used. As a Liferay Core developer you should use this feature set whenever you want to extend the existing functionality of Liferay or to implement a new functionality.

Frontend #

Struts and Tiles #

Most Liferay portlets are developed using Struts through a custom bridge for portlets called StrutsPortlet.

Features Not Used:

  • Struts Forms: Liferay almost never uses Struts Forms. Try to avoid them as much as possible.
  • Validation: We do validation in the Service Layer

Taglibs #

Liferay uses Taglibs extensively. The standard JSTL library is used, mainly for tags such as c:if and c:when / c:otherwise

Javascript #

Business Layer #

Spring #

Features Not Used:

  • Aspects: They will be probably introduced in the near future.

Database Access #

Hibernate #

Hibernate is used to access the database in most situations.

Features Not Used:

  • Criteria API: We found some problems with some of the supported databases

JDBC #

JDBC is used directly to perform custom queries. See the Finder classes.

SQL #

It's sometimes used when using JDBC instead of Hibernate.

Use very simple SQL to guarantee that it'll work in all of Liferay's supported databases.

Development #

The following tools are used to develop Liferay's core:

  • Ant
  • Java 5
  • Tomcat
  • MySQL
0 附件
20130 查看
平均 (2 票)
满分为 5,平均得分为 3.0。
评论
讨论主题回复 作者 日期
This is a useful high-level overview but it... Istvan Tech 2013年11月29日 上午1:15

This is a useful high-level overview but it would be good to have some Liferay version info too, so it could be measured up approximately what is the chance that the content became out-of-date.
Thanks
在 13-11-29 上午1:15 发帖。