2010-04-08 21 views
8

Xác định thành phần tùy chỉnh trong Facelets rất dễ dàng và nhanh chóng nhưng có một điều tôi không thể tìm ra.Các thành phần và thuộc tính Facelets tùy chỉnh được xác định trong taglib

Có thể với Facelets để xác định thuộc tính của thành phần tùy chỉnh của tôi không? Ví dụ: Tôi đã tạo một thành phần được sử dụng theo cách như vậy:

<blue:modalWindow id="editFeesWizard" width="500" height="440" title="Wizard"> 

và được định nghĩa trong taglib.xml như sau:

<!DOCTYPE facelet-taglib PUBLIC 
     "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN" 
     "http://java.sun.com/dtd/facelet-taglib_1_0.dtd"> 
<facelet-taglib> 
    <namespace>...</namespace> 
    <tag> 
     <tag-name>modalWindow</tag-name> 
     <source>components/modalWindow.xhtml</source> 
    </tag>  
</facelet-taglib> 

taglib không chứa bất kỳ thông tin về các thuộc tính thành phần của (id, chiều rộng, chiều cao, tiêu đề) và IDE không thể kiểm tra cú pháp của tôi và cũng không thể gợi ý các thuộc tính trong khi tôi đang gõ.

Tôi không thể tìm thấy bất kỳ nội dung nào về chủ đề này trong tài liệu Facelets. Nghĩ rằng bạn có thể giúp đỡ. Cảm ơn!

Trả lời

4

Dường như không có cách nào. Nhưng ngay cả khi có, tôi không nghĩ rằng Eclipse (ví dụ) sẽ có thể xử lý nó và cung cấp tự động hoàn thành. Đó là lý do tại sao bạn có thể xác định một số .tld, có chứa các thuộc tính:

<?xml version="1.0" encoding="utf-8"?> 

<taglib 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" 
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.1"> 
...... 
</taglib> 

Chỉ nhằm mục đích tự động hoàn thành. Xấu xí, tôi biết.

0

Tôi mong muốn có thể tạo các thành phần tổng hợp bằng cách sử dụng JSF 2 và các facelet; từ những gì tôi đã đọc, nó có vẻ rất nhanh chóng và dễ dàng, và bạn xác định những gì thuộc tính thành phần tổng hợp của bạn chấp nhận.

0

Tôi không biết trước đây, nhưng có thể bây giờ. Chỉ cần thêm:

<tag> 
    <tag-name>mycustomtag</tag-name> 
    <source>tags/mycustomtag.xhtml</source> 
    <attribute> 
     <description>What does this do?!</description> 
     <name>attribute</name> 
    </attribute> 
</tag> 
Các vấn đề liên quan