Hướng dẫn viết portlet feedback đơn giản trên Liferay sử dụng Liferay IDE, sử dụng các công nghệ JSF (JavaServer Faces): là một framework dùng để phát triển các ứng dụng web bằng Java. Liferay hỗ trợ phát triển portlet bằng JSF. Hibernate: là một ORM (Object Relational Mapping) framework của Java, dùng để hỗ trợ việc truy xuất database.
HƯỚNG DẪN TẠO PORTLET ĐƠN GIẢN TRÊN LIFERAY I Mục tiêu Hướng dẫn viết portlet feedback đơn giản Liferay sử dụng Liferay IDE II Công nghệ sử dụng JSF (JavaServer Faces): framework dùng để phát triển ứng dụng web Java Liferay hỗ trợ phát triển portlet JSF Hibernate: ORM (Object Relational Mapping) framework Java, dùng để hỗ trợ việc truy xuất database Page of 44 MỤC LỤC HƯỚNG DẪN TẠO PORTLET ĐƠN GIẢN TRÊN LIFERAY .1 I Mục tiêu II Công nghệ sử dụng MỤC LỤC PHẦN 1: CHUẨN BỊ MÔI TRƯỜNG I Chuẩn bị II Cấu hình Liferay Portal .5 III Cấu hình Liferay IDE Cấu hình JRE Cài đặt Liferay Plugin SDK Cài đặt Liferay Server PHẦN 2: TẠO FEEDBACK PORTLET .13 I Mục tiêu 13 II Tạo database 13 III Tạo Liferay Portlet Project .16 IV Thêm thư viện hibernate vào project .18 V Tạo Java Object cho bảng feedback 19 VI Tạo tập tin cấu hình cho Hibernate 21 VII Tạo lớp hỗ trợ cho Hibernate 22 VIII IX X Tạo lớp DataProvider 23 Tạo portlet thêm feedback 24 Tạo Managed Bean 24 Tạo giao diện .25 Khai báo thông tin portlet 28 Deploy portlet 30 Tạo portlet hiển thị danh sách feedback 32 Page of 44 Tạo Managed Bean 32 Tạo giao diện .33 Khai báo thông tin portlet 35 Deploy portlet 36 XI Cấu trúc project sau hoàn thành 38 Page of 44 PHẦN 1: CHUẨN BỊ MÔI TRƯỜNG I Chuẩn bị Phần cứng: tối thiểu 1GB Ram Liferay portal 6.0 Community Edition Bundled with Tomcat (tham khảo tài liệu Huong dan cai dat Liferay 6.0 voi Postgres 8) Liferay IDE 1.3.1 (là phiên eclipse 3.7 cài đặt sẵn Liferay IDE) (địa tải http://sourceforge.net/projects/lportal/files/Liferay%20IDE/1.3.1/) Liferay plugin SDK 6.1.0 b3 (SDK 6.1.0 trở lên hỗ trợ JSF portlet) địa tải http://sourceforge.net/projects/lportal/files/Liferay%20Portal/6.1.0%20B3/) Page of 44 Thư viện JSF (đã kèm theo gói Liferay plugin SDK) Thư viện Hibernate 3.6 (địa tải về: http://sourceforge.net/projects/hibernate/files/hibernate3/3.6.10.Final/) II Cấu hình Liferay Portal Ta chuyển Liferay portal sang chế độ Developer Chế độ Developer tối ưu Liferay cho việc phát triển portlet với hỗ trợ sau: Tắt cache để thay đổi cập nhật nhanh mà không cần khởi động lại Liferay Hiển thị nhiểu thơng tin có lỗi xảy Page of 44 Để bật chế độ Developer Liferay 6, vào thư mục C:\liferay-portal-6.0.6\tomcat6.0.29\bin , mở tập tin setenv.bat Tìm đến dòng sets JAVA_OPTS thêm tùy chọn -Dexternal-properties=portal-developer.properties III Cấu hình Liferay IDE Cấu hình JRE Liferay IDE có tích hợp sẵn java compiler, ta cần cấu hình JRE (khơng cần JDK) cho Liferay IDE, ta sử dụng JRE kèm theo gói Liferay Click chuột phải vào My Computer, chọn Properties để hiển thị hộp thoại System Properties Trong hộp thoại System Properties, chọn thẻ Advanced, nhấn chọn Evironment Variables Hộp thoại Evironment Variables Trong phần System variables, chọn dòng Path nhấn nút Edit để chỉnh sửa Page of 44 Trong hộp thoại ra, thêm đường dẫn đến jre Liferay C:\liferay-portal6.0.6\tomcat-6.0.29\jre1.6.0_20\win\bin vào mục Variable value (lưu ý dấu ‘;’) Để kiểm tra, vào Start - Run, gõ cmd để vào Command Prompt Trong cửa sổ Command Prompt, gõ java –version Hệ thống hiển thị phiên java thiết đặt Cài đặt Liferay Plugin SDK Giải nén gói Liferay IDE vào ổ thư mục thích hợp, ví dụ C:\ Giải nén gói Liferay plugin SDK vào thư mục C:\eclipse\plugins Liferay IDE Page of 44 Vào thư mục C:\eclipse, chạy tập tin eclipse.exe để khởi động Liferay IDE Chọn menu Windows - Preferences Trong hộp thoại Preferences, chọn Liferay - Installed SDKs, nhấn nút Add để thêm Liferay plugin SDK Chọn đến thư mục Liferay plugin SDK Page of 44 Cài đặt Liferay Server Trong hộp thoại Preferences Liferay IDE, chọn Server - Runtime Environments, nhấn nút Add để thêm Server Tìm đến mục Liferay, Inc chọn Liferay v6.0 CE (Tomcat 6) Check vào tùy chọn Create a new local server để Liferay IDE tự động tạo instance Server dựa Runtime Server Nhấn Next Page of 44 Tìm đến thư mục tomcat Liferay portal cài trước Nhấn Finish Page 10 of 44 o : khai báo tập tin xhtml portlet (ở tập tin Feedback_Them.xhtml nằm thư mục xhtml) Thẻ : o : khai báo tiêu đề portlet o : khai báo tiêu đề ngắn cho portlet (Liferay dùng để hiển thị phần quản lý portlet) Vào thư mục docroot/WEB-INF, mở tập tin liferay-portlet.xml ta thêm nội dung sau vào thẻ : Feedback_Them /icon.png false false /css/main.css feedback-portlet Trong đó: Thẻ : khai báo tên portlet, tên phải trùng với id khai báo tập tin liferay-display.xml /// Khai báo thêm file hibernate.cfg.xml Và file model-orm.xml Thêm servlet vô file web.xml NhanSu_DanhSach Servlet com.liferay.portal.kernel.servlet.PortletServlet portlet-class javax.portlet.faces.GenericFacesPortlet 1 NhanSu_DanhSach Servlet Page 30 of 44 /NhanSu_DanhSach/* Nhớ đặt tên biến class Java theo quy tắc đặt tên Java (file model có tên trường tên trường CSDL vậy) : dùng để tải lại phần trang Phải đặt nội dung web vào thẻ: : Giống trang ascx asp.net //Query q = session.createQuery("FROM NhanSu ORDER BY Id"); Câu lệnh query với NhanSu tên Model, tên bảng Nếu muốn sử dụng tên bảng dùng lệnh session.CreateSQLQuery… coi lại lệnh này, lúc có chữ select * From… Password: QL0AFWMIX8NRZTKeof9cXsvbvu8= Digest: 0ec4c7bf6bc2a5f2728ecd1b1c3fa2d8,6f6b04fbbfbd291ee8425389e5729ef1,13a86432a 1e5a00f1ca3859e1f5cd86e Deploy portlet Trong phần Package Explorer, click chuột phải lên feedback project, chọn Liferay - SDK, chọn mục deploy để tiến hành deploy project Page 31 of 44 Trong phần Console xuất số câu thông báo trình deploy Khi deploy xong, mở website Liferay, đăng nhập với tài khoản admin Sau đăng nhập xong, menu quản trị (nằm góc website) chọn mục Add - More Page 32 of 44 Trong popup xuất hiện, chọn category vidu ta thấy portlet tên “Thêm feedback”, nhấn nút Add bên cạnh để thêm portlet vào trang web Lúc này, portlet xuất trang web X Tạo portlet hiển thị danh sách feedback Tạo Managed Bean Trong thư mục docroot/WEB-INF/src/feedback, tạo class FeedbackDanhSachBean (FeedbackThemBean.java) để tạo Managed Bean package feedback; import java.io.Serializable; import java.util.List; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.event.ActionEvent; @ManagedBean(name="FeedbackDanhSachBean") Page 33 of 44 @ViewScoped public class FeedbackDanhSachBean implements Serializable { private static final long serialVersionUID = -3648736955979103595L; private private private private FeedbackDataProvider objFeedbackDataProvider; List listFeedback; Feedback objFeedback; int mode; // 0: hien thi danh sach, 1: xem chi tiet public List getListFeedback() { return listFeedback; } public Feedback getObjFeedback() { return objFeedback; } public int getMode() { return mode; } /** * Hàm xây dựng */ public FeedbackDanhSachBean() { objFeedbackDataProvider = new FeedbackDataProvider(); // Lấy danh sách feedback listFeedback = objFeedbackDataProvider.getAllFeedback(); // hiển thị form danh sách mode = 0; } /** * Khi người dùng nhấn vào đường link để xem chi tiết thông tin feedback * @param event */ public void actionXemCTFeedback(ActionEvent event) { int fbId = nteger.parseInt(event.getComponent().getAttributes() get("fbId").toString()); objFeedback = new Feedback(); objFeedback = objFeedbackDataProvider.getFeedbackById(fbId); } // hiển thị form xem chi tiết feedback mode = 1; /** * Khi người dùng nhấn nút Trở form xem chi tiết * @param event */ public void actionTroVeDSFeedback(ActionEvent event) { // hiển thị form danh sách feedback mode = 0; } /** * Lấy danh sách feedback Page 34 of 44 * @return */ public List getDanhSachFeedback() { List results = objFeedbackDataProvider.getAllFeedback(); } return results; } Tạo giao diện Trong thư mục docroot/xhtml, tạo tập tin Feedback_DanhSach.xhtml để tạo khai báo form hiển thị danh sách feedback ID Tiêu đề actionListener="#{FeedbackDanhSachBean.actionXemCTFeedback}" > Page 40 of 44- value="#{item.speciality}" />
- > Page 41 of 44 > Bộ Chỉ #{item.name} #{item.title}
- Mã Cán #{item.id}
- Địa Nhà số D3-10, Đường 31 Khu dân cư Hoàng Quân, Q.Cái Răng TP Cần Thơ
- Email Dttin@ctu.edu.vn
- Điện Thoại 0836709246
- Chuyên Môn Mạng - Bảo mật
- fa-instagram">
fa-skype"> Sơ lược giảng viên Giới thiệu thân
Contrary to popular belief, Lorem Ipsum is not simply random text It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old Richard McClintock, a Latin professor at HampdenSydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC This book is a treatise on the theory of ethics, very popular during the Renaissance The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet ", comes from a line in section 1.10.32 The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H Rackham
Page 43 of 44 Quá trình rèn luyện2007 - 2009 : Đại học Cần Thơ - Đào tạo cử nhân tin học 2009 - 2011 : Đại học Cần Thơ - Đào tạo kỹ sư tin học thạc sĩ tin học adipiscing elit. 2014 - 2016 : Đại học Cần Thơ - Đào tạo
Cơng trình nghiên cứu- Lorem ipsum dolor sit amet, consectetur vel euismod est lacinia. - Proin auctor lorem vitae est elementum, - Mauris eu augue pulvinar nibh viverra mattis eu a nibh. - In sed massa quis ligula gravida maximus a at odio. eleifend risus malesuada. - Nam rhoncus dolor et arcu porttitor, et - Curabitur sollicitudin dui id ipsum accumsan, nec suscipit nibh lobortis. - Mauris ultricies tortor vel urna cursus maximus. - Nam imperdiet urna dictum magna ornare ultricies. - Donec at lectus ut lacus cursus sagittis. - Vivamus eget sapien eleifend sapien vehicula pharetra. - Sed ac mi at ipsum posuere fringilla ut et lacus. - Fusce ac tortor quis ipsum gravida scelerisque
> Page 44 of 44 ... xmlns:h="http://java.sun.com/jsf/html" xmlns :liferay- ui="http://portletfaces.org/liferayfaces /liferay- ui" Page 25 of 44 xmlns :liferay- util="http://portletfaces.org/liferayfaces /liferay- util" xmlns:ui="http://java.sun.com/jsf/facelets"... /> Khai báo thơng tin portlet Trong portlet project, ta khai báo nhiều portlet Với portlet, ta cần khai báo thơng tin tập tin: liferay- display.xml portlet. xml liferay -portlet. xml Page 28... khảo tài liệu Huong dan cai dat Liferay 6.0 voi Postgres 8) Liferay IDE 1.3.1 (là phiên eclipse 3.7 cài đặt sẵn Liferay IDE) (địa tải http://sourceforge.net/projects/lportal/files /Liferay% 20IDE/1.3.1/)