2011-11-15 23 views
5

Trong bất kỳ ứng dụng portlet nào, nếu cùng một trang chứa một portlet được mở trong hai tab trình duyệt, sự kiện trong trang đầu tiên được phân biệt với trang thứ hai như thế nào?Sự kiện trong Liferay Portlets

Tôi muốn chỉ định Id duy nhất cho mỗi sự kiện, lưu trữ và thêm nó vào URL để liên kết có thể được chia sẻ.

Ai đó có thể cung cấp suy nghĩ của họ về vấn đề này không?

Ngoài ra, nếu URL trang được mở trên máy tính khác thì dữ liệu được hiển thị trên trang giống với dữ liệu được xem trên máy tính đầu tiên. Điều này đang được thiết lập trên toàn cầu.

Tôi làm cách nào để loại bỏ điều này?

+0

Bạn có tìm thấy câu trả lời không? Cảm ơn –

Trả lời

1

JSR-286 (latest Java Portlet Specification) định nghĩa Giao tiếp cổng nối tiếp giữa máy chủ và phía máy khách (IPC). Để thực hiện Liferay chúng được mô tả rõ ràng herehere.

Câu hỏi đầu tiên:

Trong bất kỳ ứng dụng portlet, nếu cùng một trang có chứa một portlet được mở ra trong hai tab trình duyệt, như thế nào là sự kiện trong trang đầu tiên phân biệt từ trang thứ hai?

  • Client Side IPC: nó là không thể để bắn và lắng nghe một Liferay javascript kiện giữa hai tab trình duyệt khác. Vì vậy, chúng sẽ tự động được phân biệt. Tuy nhiên, bạn có thể sử dụng phương pháp dựa trên cookie để triển khai (xem here nếu quan tâm)
  • Phía máy chủ IPC: có thể chia sẻ dữ liệu (phía máy chủ) giữa các máy khách khác nhau bằng IPC phía máy chủ. cho ví dụ)
câu hỏi thứ hai:

tôi muốn gán một ID duy nhất cho mỗi sự kiện, lưu trữ nó và thêm nó vào URL để liên kết có thể được chia sẻ. Ai đó có thể cung cấp suy nghĩ của họ về điều này?

  • Đó là một ý tưởng hay. Triển khai phổ biến là sử dụng url Fragment Identifier (hash) để lưu trữ trạng thái trong url. Một đã sẵn sàng để sử dụng thực hiện JQuery cho điều đó là JQuery BBQ

Ngoài ra, nếu URL của trang được mở trên máy tính khác các dữ liệu hiển thị trên trang cũng giống như các dữ liệu xuất hiện trên máy tính đầu tiên. Điều này đang được thiết lập trên toàn cầu. Làm cách nào để loại bỏ điều này?

  • tôi giả sử bạn đang nói chuyện cùng tài khoản Liferay tài khoản (nếu không nó có thể dữ liệu phạm vi bởi vai trò, người dùng, nhóm, nhóm người dùng hoặc tổ chức trong Liferay). Để phân biệt dữ liệu giữa các máy tính khác nhau cho cùng một người dùng, bạn có thể lưu trữ và chuyển lại (các) cookie cổng thông tin với thông tin trạng thái về máy khách. Xem here để biết cách đặt cookie trong Liferay.
Các vấn đề liên quan