
Liferay, Programming, Java, Algorithms, Portal, Cổng thông tin, Lập trình, Thuật toán, Liferay Vietnam, Liferay Việt Nam
Liferay: Tải tệp tin (upload file) trong portlet

Liferay 6.2: Upload file in portlet

Vietnamese version
The uploading file is an activity frequently. You can use this activity to upload document files (for examples: doc, docx, pdf, png...) or data files (for examples: csv, xls, xlsx, odt,..). There are many ways to upload a file, I will show you my way in this post.
Alogrithm: Sắp xếp vun đống (heap sort)
![]() |
Thực hiện vun đống |
Rất may mắn có một người bạn giúp ta làm một việc như sau: người bạn đó sẽ sắp xếp số đồ vật của chúng ta thành một đống mà phần tử ở trên bao giờ cũng nhẹ hơn phần tử ở dưới. Như vậy, ta lấy được đồ vật nhỏ nhất và bỏ ra ngoài. Người bạn lại tiếp tục sắp lại đống đồ vật trên và ta lại chọn phần tử ở trên cao nhất - là phần tử nhẹ nhất trong đống nhưng nhẹ thứ hai trong danh sách các đồ vật. Cứ thế đến cuối cùng thì các phần tử được ta nhặt ra từ đống sẽ được sắp xếp.
Ngay lập tức ta thấy có một câu hỏi đặt ra là việc xếp lại cái đống đồ vật để cho ta chọn đồ vật nhẹ nhất có phức tạp và khó khăn hay không? Rất may nó lại khá đơn giản, post này sẽ giải thích kỹ hơn cho bạn.
Algorithm: Thuật toán sắp xếp nhanh (quick sort)
![]() |
Hình động cảu thuật toán sắp xếp nhanh
|
Algorithm: Thuật toán sắp xếp chèn (insertion sort)
![]() |
Sắp xếp chèn (insertion sort) |
Liferay 6.2: Kết hợp search container và cơ sở dữ liệu
Trong hai post trước đây (service builder và search container) cho phép chúng ta tương tác với dữ liệu và tương tác với giao diện. Trong post này mình sẽ kết hợp cả hai công việc riêng rẽ ở hai post trên vào thành một. Có nghĩa là ứng dụng của chúng ta sẽ lấy dữ liệu từ cơ sở dữ liệu hiển thị lên màn hình nhờ search container và chúng ta có thể dùng các tham số của search container để lọc các bản ghi phù hợp. Bây giờ các ứng dụng ta viết ra sát với thực tế rồi đấy.
Algorithm: Thuật toán sắp xếp chọn (selection sort)
![]() |
Hình động sắp xếp chọn
|
Algorithm: Thuật toán sắp xếp nổi bọt (bubble sort)
![]() |
Minh họa |
Python: Sắp xếp (sorting)
![]() |
Sắp xếp |
Liferay 6.2: Thao tác với cơ sở dữ liệu
Trong các hướng dẫn trước đây, chúng ta đã làm quen với việc xây dựng các ứng dụng (portlet) đơn giản. Tuy nhiên, chúng chỉ là các ví dụ mà thôi, để cho gần hơn với các ứng dụng trong thực tế, mình viết post này trình bày về các thao tác với cơ sở dữ liệu. Liferay cung cấp một công cụ cực kỳ mạnh mẽ và hiệu quả đó là Servvice Builder. Công cụ này sẽ giúp bản triển khai một ứng dụng cực kỳ nhanh chóng.
Python: Tìm giá trị của biểu thức Taylor.
Định lí Taylor cho ta một đa thức xấp xỉ một hàm khả vi tại một điểm cho trước (gọi là đa thức Taylor của hàm đó) có hệ số chỉ phụ thuộc vào các giá trị của đạo hàm tại điểm đó. Định lí còn cho ta một đánh giá chính xác sai số của xấp x.
Liferay 6.2: Tìm kiếm và liệt kê (Search Container)
Trong các ứng dụng thông thường, việc liệt kê tất cả các phần tử (bản ghi) là một việc rất hay gặp. Trong trường hợp, nếu số lượng bản ghi nhiều và tràn hết màn hình thì ta sẽ có nhu cầu phân trang.
Liferay có tiện ích search container rất hữu ích cho chúng ta khi thực hiện công việc như trên. Trong bài này, mình sẽ giới thiệu chi tiết cách sử dụng search container.
Liferay 6.2: Làm việc với nhiều render

Như đã hứa ở bài trước, bài này chúng ta sẽ bàn đến vấn đề trả lại nhiều view khác nhau. Công việc này chắc chắn là thường xuyên gặp. Chẳng hạn bạn đang ở giao diện view, bạn có thể chuyển sang giao diện edit. Edit xong bạn có thể chuyển sang giao diện xem chi tiết chẳng hạn. Nói tóm lại, bài này sẽ giúp bạn chuyển sang các view đúng với kịch bản của bạn sau khi thực hiện các action.
Liferay 6.2: Xử lý nhiều action
Trong bài trước, chúng ta có hai file view.jsp và edit.jsp. Mặc định, khi mở portlet ra thì sẽ hiển thị nội dung của file view.jsp. Sau đó, ta nhấn vào liên kết để mở file edit.jsp. Trong file edit.jsp ta sẽ nhập vào tên và truyền xuống controller và controller xử lý dữ liệu rồi trả lại view.jps.
Ta thấy, ở đây có hai thao tác, i) mở file edit.jsp thao tác này được gọi là render và ii) chuyển dữ liệu từ file edit.jsp xuống controller ta gọi là action. Câu hỏi đặt ra, nếu như chúng ta muốn có nhiều thao tác gửi dữ liệu xuống controller thì phải làm thế nào?Bài này sẽ giải đáp thắc mắc trên.
Python: Kiểu dữ liệu chuỗi
Python: Một số ví dụ về hàm
![]() |
Hàm |
Khái niệm hàm trong ngôn ngữ lập trình thì mình không phải giới thiệu lại. Bạn chỉ cần hiểu đơn giản hàm là một hộp đen thực hiện một công việc nào đó. Với đầu vào như thế nào thì sẽ được đầu ra tương ứng. Ví dụ, đầu vào của hộp đen số nguyên tố là 11 sẽ có kết quả là True, còn đầu vào là 12 sẽ có đầu ra là False. Vậy, chúng ta sẽ đi tìm hiểu cách chế tạo hộp đen bằng Python nhé.
Liferay 6.2: Gửi và nhận dữ liệu trong portlet
Trong bài trước, chúng ta đã tạo ra được một portlet có tên là FirstApp, portlet này đã hiển thị một lời chào lên màn hình. Câu chuyện đặt ra, nếu mình muốn cho phép người khác hiển thị dòng chữ chào mừng đấy thì ta phải làm thế nào?
Rất đơn giản thôi, ta cho người dùng nhập vào nội dung (tên người chẳng hạn) và người dụng nhấn vào nút Gửi , lúc này, controller sẽ trả lại dòng chữ chào mừng mà ta mong muốn.
Tự học Python: Một vài chương trình đơn giản.

Tự học Python: Cài đặt và viết chương trình đầu tiên

Liferay 6.2: Tạo Portlet đầu tiên

Liferay 6.2: Các thành phần cơ bản của Liferay (P2)
Ở phần trước, chúng ta đã tìm hiểu các thành phần được sử dụng để dựng trang (company, site, page, portlet, ...). Phần này chúng ta sẽ đi tìm hiểu về phần quản lý người dùng trong Liferay gồm có: người dùng, nhóm người dùng, tổ chức, vai trò và quyền,...
Liferay 6.2: Các thành phần cơ bản của Liferay
Sau khi đã cài đặt và cấu hình thành công Liferay trên máy tính các nhân. Lúc này, chúng ta sẽ đi tìm hiểu các thành phần trong Liferay. Mình sẽ chia thành hai phần và chúng ta sẽ đi tìm hiểu từng phần một: i) các thành phần liên quan đến dựng trang (company, site, page, portlet, ...), ii) thành phần người dùng (user, group user, organization,...). Nào, cùng bắt đầu nhé:
Liferay 6.2: Cài đặt và cấu hình Liferay
Ở hướng dẫn trước, mình đã nêu ra các phần mềm chính (portal, sdk và ide). Trong phần này, mình sẽ hướng dẫn cụ thể cài đặt môi trường máy chủ và môi trường lập trình (bài sau nữa).
Bắt đầu với Liferay

chức và doanh nghiệp có nhu cầu phát triển hệ thống thông tin trên môi trường mạng nhằm thực hiện các giao dịch trực tuyến sử dụng Intranet/Internet như một công cụ thiết yêu trong các hoạt động, cung cấp thông tin, giao tiếp, quản lý, điều hành, trao đổi và cộng tác.
Đăng ký:
Bài đăng (Atom)