Java Server Faces @author: HuyP Company: FITECH Mobile: 0904 262 309 Email:
[email protected]
Phụ lục • • • • • • • • • • • •
JSF là gì? Các thành phần cơ bản của JSF Cơ chế hoạt động chính của JSF IOC và quản lý Java Beans Navigations Hỗ trợ đa ngôn ngữ Dễ dàng trong tích hợp với các FrameWork : Spring, struts, richfaces,... Kế thừa sự hỗ trợ của Ajax Facelets Công cụ Demo Các câu hỏi đặt ra.
JSF là gì? •
Là thư viện mã được phát triển nhằm hỗ trợ cho việc hoàn thiện web. • Đã được công nhận là 1 chuẩn cho cho việc phát triển web. • Được kế thừa từ : – SUN – Apache MyFaces – Oracle ADF – IBM
Architecture
JSF và Struts • Struts chỉ đơn thuần là 1 thư viện được phát triển nhằm hỗ trợ cho ứng dụng web với phương diện là 1 điều khiển (Controller) trong kiến trúc MVC điển hình. • Nhưng với JSF, được phát triển để hỗ trợ tất cả 3 phần : – Model : Quản lý Java Beans – View: JSF và JSP tags – Controller: Faces Servlet
• JSF được biết đến với những ưu điểm: – Tính tùy chỉnh – Dễ dàng trong việc cài đặt – Dễ dàng trong việc thiết kế chỉnh sửa các thành phần
Tạo View, truyền dữ liệu, điều khiển • JSF hỗ trợ truyền dữ liệu trực tiếp từ Java Beans –
• Điều khiển –
• Thiết kế View đơn giản –
Xử lý sự kiện •
Vẫn theo thói quen truyền dữ liệu qua lại theo phương pháp truyền tham số. • Mỗi sự kiện được xử lý một cách độc lập. • JSF lưu trữ và trả về trạng thái của từng thành phần sau từng sự kiện đã được xử lý: – Client: được lưu trữ và trả về bởi đối tượng hidden – Server: được lưu trữ và trả về bởi đối tượng session, application.
Cơ chế hoạt động
Điều hướng và tính hợp lệ • •
Truyền dữ liệu qua lại theo dạng chuỗi. Chuyển đổi những yêu cầu hợp lệ tới đối tượng Java Bean tương ứng • Tính hợp lệ cho việc điều hướng dựa trên một số thành phần: – Converters và validators
Quản lý Java Beans • •
JSF quản lý Java Beans trong một file duy nhất : faces_config.xml <managed-bean> <managed-bean-name>beanName <managed-bean-class>JavaBeanClassName <managed-bean-scope>request <managed-property> <property-name>someVariable
#{someBeanName}
Điều hướng •
/login.jsp success /mainmenu.jsp failure /login.jsp Hỗ trợ Controller:
#{beanName.actionName}
Hỗ trợ sử dụng đa ngôn ngữ •
Có hai cách chính: – Định nghĩa trong faces_config.xml •
<default-locale>bundleNameen <supported-locale>en_USvi <message-bundle> bundleClassName
locale> locale>
•
Định nghĩa trực tiếp trên thành phần View –
Tích hợp Spring •
JSF-Spring – Using a delegating variable resolver
•
org.springframework.web.jsf.DelegatingVariableResolver ; <managed-bean> <managed-bean-name>backingBeanName <managed-bean-class> yourpackagename.backingBeanClass <managed-bean-scope>request <managed-property> <property-name>facadeService <property-class> packagename.FacadeService #{facadeService}
Hỗ trợ Ajax • JSF tích hợp một số thư viện của Ajax như: – JSF Avatar – Ajax Anywhere – Ajax4Jsf – IceFaces – Ajax enabled MyFaces Components
Cụ thể hơn với Controller (FaceLets) • • • •
Thay thế trang jsp đơn thuần bằng xhtml Thành phần hướng đối tượng Tăng cường với hỗ trợ của thư viện jsf Không cần sử dụng những thẻ jsp đơn thuần.
Công cụ • • • • • • • •
Exadel Studio IBM RSA Oracle JDeveloper Sun Studio Creator MyEclipse Bea Workshop Macromedia jsftoolbox Netbeans
Một số thành phần của JSF • • • • • • • • • • • • • •
Basic form components Datatable File upload Date and Calendar Jscookmenu Schedule Accordion panel Tabbed Panel Ajax components Tree Dojo Toolkit Fisheye Html Editor Chart Creator (jsf-comp component)
Phát triển của JSF • • • •
Đã đưa ra sử dụng với bộ thư viện JSF 2.0 Đa số các công cụ đã được tích hợp JSF Các thành phần sẽ được phát triển và hoàn thiện Hoàn chỉnh việc tích hợp Ajax
• Các câu hỏi đặt ra?