Пользовательские компоненты Facelets и атрибуты определяются в taglib

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

Действительно ли возможно с Facelets определить то, что приписывает мой пользовательский компонент, имеет? Т.е.: я создал компонент, который используется таким способом:

 <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 не может поэтому проверить мой синтаксис, и при этом он не может предложить атрибуты, в то время как я ввожу.

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

8
задан mgamer 8 April 2010 в 06:41
поделиться

2 ответа

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

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

4
ответ дан 6 December 2019 в 00:06
поделиться

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

0
ответ дан 6 December 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: