Атрибут JSF taglib и завершение кода в NetBeans - PullRequest
0 голосов
/ 16 апреля 2019

Java, JSF 2.2, taglibs 1.1.2, NetBeans 8.2

Я создал пользовательский тег Facelets, следуя приведенному здесь шаблону: Как создать собственный тег Facelets?

и я также включил атрибут определенного типа (один из моих собственных POJO).

В файле xhtml для тега, когда я обращаюсь к атрибуту с использованием EL, я бы хотел, чтобы NetBeans завершил кодирование свойств, аналогичных большинству других тегов.

Вот мой код:

WEB-INF \ tags \ants.xhtml

<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets">
    ...
    #{pants.numberOfLegs}
    ...
</ui:composition>

WEB-INF \ mine.taglib.xml

<?xml version="1.0" encoding="UTF-8"?>
<facelet-taglib 
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd"
version="2.0">

<namespace>http://mine.com/jsf/facelets</namespace>
    <tag>
        <tag-name>fancyPants</tag-name>
        <source>tags/fancyPants.xhtml</source>
        <attribute>
            <name>pants</name>
            <required>true</required>
            <type>com.mine.Pants</type>
        </attribute>
    </tag>
</facelet-taglib> 

WEB-INF \ web.xml

...
<context-param>
    <param-name>javax.faces.FACELETS_LIBRARIES</param-name>
    <param-value>/WEB-INF/mine.taglib.xml</param-value>
</context-param>

WEB-INF \ tags \ брюки.xhtml

<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets">
    ...
    #{pants.tabName}
    ...
</ui:composition>

, используя его в коде:

<html ... xmlns:my="http://mine.com/jsf/facelets">
...
<my:fancyPants pants="#{bean.blueJeans}" />

поэтому, когда я кодирую в WEB-INF\tags\pants.xhtml, я бы хотел, чтобы #{pants.} автоматически заполнялся и показывал мне доступные опции.

Опять же, я использую NetBeans и предполагаю, что это специфично для IDE, но я надеялся, что определение «type» в * .taglib.xml обеспечит то, что WEB-INF \ tags \ants.xhtmlфайл знал, что такое тип'ants '.

В качестве альтернативы, если передача параметров в пользовательский интерфейс: include решит эту проблему, я могу пойти по этому пути, но у меня та же проблема, что включаемый файл не знает типпараметраd не будет выполнять автозаполнение кода.

...