hỗ trợ JSF 2.x Facelets được tích hợp trong "Eclipse IDE for Java EE developers" (chú ý EE, do đó không phải là "Eclipse IDE cho các nhà phát triển Java"), kể từ Eclipse Helios (phiên bản 3.6, phát hành tháng 6 năm 2010). Bạn cần đảm bảo rằng mặt đối tượng JavaServer Mặt nạ được bật trong mục Mục dự án thuộc tính của dự án và được đặt ở mức tối thiểu là phiên bản 2.0.
này thường configureable trong in new động dự án Web hướng dẫn, nhưng khi nhập khẩu các dự án phi Eclipse hoặc tạo phi Dynamic Web Project dự án (ví dụ Maven nguyên mẫu), sau đó bạn cần phải tự kiểm tra/thêm nó.
Sau khi tích hợp, tự động điền thẻ JSF theo mặc định có sẵn trên java.sun.com
không gian tên XML.
mới xmlns.jcp.org
namespace không được công nhận theo mặc định (hiện thử nghiệm phiên bản Eclipse là Luna SR2).
Các xmlns.jcp.org
namespace mới sẽ chỉ làm việc nếu bạn đã thêm một vật lý JSF 2.2 thực hiện để xây dựng đường dẫn trong hương vị của một chính thức chứa Java EE đầy đủ có JSF 2.2 trong module tương ứng, tích hợp thông qua một máy chủ phong nha plugin và đặt là Thời gian chạy được nhắm mục tiêu trong thuộc tính của dự án hoặc tệp JAR JSF 2.2 thực thi cụ thể trong trường hợp của Tomcat và nhái (hoặc bằng cách thêm nó làm phụ thuộc Maven).
Nó chỉ vẫn không công nhận composit trong không gian tên XML mới. Khi đổi lại thành java.sun.com
, hoàn tất mã của thẻ thành phần tổng hợp đã trở lại, nhưng hoàn thành mã thuộc tính trên các thẻ đó không khả dụng.
Sau đó, tôi cài đặt JBoss Tools 4.2.3 for Eclipse Luna và kích hoạt các JBoss Công cụ Kiến thức cơ sở trong thuộc tính của dự án.
Sau khi đóng và mở lại Facelet (để biên tập JBoss BUILTIN HTML được mở, bạn có thể thiết lập/cấu hình trình biên tập được sử dụng bởi rightclick, Open With), và chuyển sang Nguồn tab (xin vui lòng không sử dụng Visual trình soạn thảo, đây là một thảm họa), cuối cùng tôi đã hoàn thành mã của attribtues trên các thành phần composite.
Chỉ xmlns.jcp.org
vẫn không hoạt động được. Đó là một vấn đề cụ thể của Eclipse và có thể đã được khắc phục trong sao Hỏa hoặc mới hơn.Bạn luôn có thể ẩn các namespace composit đằng sau một namespace XML tùy chỉnh như sau:
/WEB-INF/my.taglib.xml
<?xml version="1.0" encoding="UTF-8"?>
<facelet-taglib
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facelettaglibrary_2_2.xsd"
version="2.2"
>
<namespace>http://example.com/my</namespace>
<composite-library-name>components</composite-library-name>
</facelet-taglib>
/WEB-INF/web.xml
<context-param>
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/my.taglib.xml</param-value>
</context-param>
Vì vậy, tóm tắt:
- Bật tính năng dự án JSF trong thuộc tính của dự án để hoàn thành mã trên thẻ hỗn hợp.
- Cài đặt Công cụ JBoss để hoàn tất mã trên các thẻ tham gia trong thẻ hỗn hợp.
- Bật cơ sở Kiến thức công cụ JBoss trong thuộc tính của dự án.
- Có một JSF 2.2 vật lý cấy JAR vào đường xây dựng để hỗ trợ
xmlns.jcp.org
trên thẻ tiêu chuẩn.
- Sử dụng
java.sun.com
Miền không gian tên XML hoặc thẻ tag tùy chỉnh (hoặc phiên bản Eclipse mới hơn) trên thẻ kết hợp.
Bạn đã giải quyết được sự cố này chưa? – Ced
Không, tôi vẫn đang chờ giải pháp – user3503888
@ user3503888 thử cập nhật nhật thực của bạn –