An Application Programing Interface (API) là một giao thức, khi gọi, thực hiện một hành động hoặc 1 thiết lậpcác hành động. Bạn có thể gọi một API từ code của bạn trực tiếp thông qua lời gọi Java hoặc thông qua các dịch vụ web. Bài này cung cấp tổng quan về 1 số hàm API Liferay cần thiết có sẵn cho bạn sử dụng trong việc phát triển Liferay Portal của bạn
1. Get portlet name:
String portletName = (String) request.getAttribute(WebKeys.PORTLET_ID);
2. Get Theme display:
ThemeDisplay themeDisplay =
(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
3. Get portlet layout ID:
Layout chính là 1 instance của 1 page. 1 Layout được định danh duy nhất bởi ID gọi là portlet
layout Id.
long plid = themeDisplay.getLayout().getPlid()
4. Dùng PortletURLFactoryUtil để tạo portlet URL
Ví dụ sau tạo portlet URL Render phase:
PortletURL portletUrl = PortletURLFactoryUtil.create(PortalUtil.getHttpServletRequest(request),portletName,
themeDisplay.getLayout().getPlid(),
PortletRequest.RENDER_PHASE);
Thiết lập các tham số cho portlet URL:
ví dụ thiết lập tham số jspPage:
portletUrl.setParameter("jspPage", jspPage);
5. Các biến định nghĩa sẵn để truy xuất trên trang JSP.
Portlet API và liferay cung cấp Taglib để cho phép khai báo và khởi tạo các biến trên các page JSP
giúp cho developers thuận tiện hơn khi phát triển portlet.
Để sử dụng được các biến này, chúng ta phải khai báo định nghĩa trên trang JSP như sau:
1) Khai báo taglib ở đầu trang JSP:
– Portlet API:
<%@ taglib uri=”http://java.sun.com/portlet_2_0” prefix=”portlet”%>
– Liferay:
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
2) Sử dụng Tag lib để khai báo biến:
<portlet:defineObjects />
<liferay-theme:defineObjects />
Các khai báo này nên đặt trong file init.jsp và sử dụng chung cho tất cả các trang JSP bằng cách như
ví dụ sau: <%@include file="/html/init.jsp" %>
Các biến đã định nghĩa sẵn như sau:
- <portlet:defineObjects /> (đối với JSR286):
Object
|
Type
|
Giải thích
|
renderRequest
|
Javax.portlet.RenderRequest
| |
renderResponse
|
Javax.portlet.RenderResponse
| |
resourceRequest
|
Javax.portlet.ResourceRequest
| |
resourceResponse
|
Javax.portlet.ResourceResponse
| |
actionRequest
|
Javax.portlet.ActionRequest
| |
actionResponse
|
Javax.portlet.ActionResponse
| |
eventRequest
|
Javax.portlet.EventRequest
| |
eventResponse
|
Javax.portlet.EventResponse
| |
portletConfig
|
Javax.portlet.PortletConfig
| |
portletSession
|
Javax.portlet.PortletSession
| |
portletPreferences
|
Javax.portlet.PortletPreferences
| |
portletPreferencesValues
|
Java.util.Map
|
- <liferay-theme:defineObjects />
themeDisplay
| ||
company
| ||
account
| ||
user
| ||
RealUser
| ||
contact
| ||
layout
| ||
layouts
| ||
……
|
3) Ngoài ra, trên bất kỳ file JSP ta có thể sử dụng các biến
sau:
request
|
javax.servlet.HttpServlet Request
| |
response
|
javax.servlet.HttpServletResponse
| |
session
|
Javax.servlet.HttpSessionapplication
| |
application
|
Javax.servlet.ServletContext
|
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment