سؤال

يعد تحديد المكونات المخصصة في FaceLets أمرًا سهلاً وسريعًا ولكن هناك شيء واحد لا يمكنني اكتشافه.

هل من الممكن مع الوجه لتحديد السمات التي يمتلكها مكون مخصص؟ IE: لقد قمت بإنشاء مكون يستخدم بهذه الطريقة:

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

ويتم تعريفه في taglib.xml على النحو التالي:

<!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 على أي معلومات عن سمات المكون (المعرف ، العرض ، الارتفاع ، العنوان) ، وبالتالي لا يمكن لـ IDE التحقق من بناء الجملة الخاص بي ولا يمكن أن يقترح سمات أثناء الكتابة.

لا يمكنني العثور على أي شيء حول هذا الموضوع في وثائق الوجه. اعتقدت أنك يمكن أن تساعد. شكرًا!

هل كانت مفيدة؟

المحلول

يبدو أنه لا يوجد طريقة. ولكن حتى لو كان هناك ، لا أعتقد أن Eclipse (على سبيل المثال) سيكون قادرًا على التعامل معه وتقديم الإكمال التلقائي. لهذا السبب يمكنك تحديد أ .tld, ، تحتوي على السمات:

<?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>

فقط من أجل الإكمال التلقائي. قبيح ، وأنا أعلم.

نصائح أخرى

إنني أتطلع إلى القدرة على إنشاء مكونات مركبة باستخدام JSF 2 و FaceLets ؛ من ما قرأته ، يبدو الأمر سريعًا وسهلاً للغاية ، وتحدد السمات التي يقبلها المكون المركب الخاص بك.

لا أعرف من قبل ، لكن هذا ممكن الآن. فقط اضف:

<tag>
    <tag-name>mycustomtag</tag-name>
    <source>tags/mycustomtag.xhtml</source>
    <attribute>
        <description>What does this do?!</description>
        <name>attribute</name>
    </attribute>
</tag>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top