Пользовательские компоненты и атрибуты Facelets, определенные в taglib - PullRequest
8 голосов
/ 08 апреля 2010

Определение пользовательских компонентов в Facelets легко и быстро, но есть одна вещь, которую я не могу понять.

Можно ли с помощью Facelets определить, какие атрибуты имеет мой пользовательский компонент? I.e: Я создал компонент, который используется таким образом:

 <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 не содержит никакой информации об атрибутах компонента (id, width, height, title) и поэтому IDE не может проверять мой синтаксис и не может предлагать атрибуты во время ввода текста.

Я не могу найти ничего по этому вопросу в документации Facelets. Думаю, ты мог бы помочь. Спасибо!

Ответы [ 3 ]

4 голосов
/ 08 апреля 2010

Кажется, нет пути.Но даже если бы это было так, я не думаю, что 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>

Просто для автозаполнения.Ужасно, я знаю.

0 голосов
/ 24 января 2018

Я не знаю раньше, но сейчас это возможно.Просто добавьте:

<tag>
    <tag-name>mycustomtag</tag-name>
    <source>tags/mycustomtag.xhtml</source>
    <attribute>
        <description>What does this do?!</description>
        <name>attribute</name>
    </attribute>
</tag>
0 голосов
/ 10 апреля 2010

Я с нетерпением жду возможности создать составные компоненты, используя JSF 2 и facelets;из того, что я прочитал, это кажется очень быстрым и простым, и вы определяете, какие атрибуты принимает ваш составной компонент.

...