Могу ли я объявить Composite-Component, используя только файл xhtml, и при этом иметь возможность использовать компонент в коде JAVA
Я пытаюсь создать составной компонент, используя простые теги jsf, не используя преимущества UIComponent. Я имею в виду, что я не хочу реализовывать компонент путем наследования от UIComponentBase,UIComponentBase и т. Д. Однако после реализации я хочу иметь возможность использовать компонент в коде JAVA. Например, рассмотрим составной компонент ниже (давайте назовем его MYcompositeComponent):
<html xmlns="http://www.w3.org/1999/xhtml"
//...
xmlns:composite="http://java.sun.com/jsf/composite">
<composite:interface>
<composite:attribute name="anything" />
</composite:interface>
<composite:implementation>
#{cc.attrs.anything}
</composite:implementation>
</html>
Затем я хочу использовать этот компонент в классе JAVA, как показано ниже:
public class JavaClass {
private MYcompositeComponent mYcompositeComponent;
// ....
}
1 ответ
На этот вопрос были похожие ответы. OmniFaces имеет служебный метод под названием Components.includeCompositeComponent(UIComponent parent, String libraryName, String resourceName, String id)
который добавит ваш компонент в другой UIComponent
программно. Это вернет составной компонент и
... которые могут при необходимости использоваться для установки пользовательских атрибутов или выражений значений.