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 не будет выполнять автозаполнение кода.