Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 如何从开始添加自定义组件?_Jsf_Jsf 2_Custom Component_Dynamically Generated - Fatal编程技术网

Jsf 如何从开始添加自定义组件?

Jsf 如何从开始添加自定义组件?,jsf,jsf-2,custom-component,dynamically-generated,Jsf,Jsf 2,Custom Component,Dynamically Generated,我已经创建了一个自定义组件,它扩展了UIComponentBase抽象类,所以当我使用这个组件时:它可以正常工作 我正在创建另一个自定义组件,我想在此组件中使用以前创建的组件,因此我尝试: @Override public void encodeBegin(FacesContext context) throws IOException { ResponseWriter writer = context.getResponseWriter(); writer.startEle

我已经创建了一个自定义组件,它扩展了
UIComponentBase
抽象类,所以当我使用这个组件时:
它可以正常工作

我正在创建另一个自定义组件,我想在此组件中使用以前创建的组件,因此我尝试:

@Override
public void encodeBegin(FacesContext context) throws IOException {

    ResponseWriter writer = context.getResponseWriter();

    writer.startElement("mycomponent", this);

    writer.endElement("mycomponent");                        
}
我认为这是一个长期的尝试,因为
startElement
只是创建了一个带有给定组件名称的标记,即
mycomponent
,所以我四处搜索并发现:

UIComponentBase mycomponent= (UIComponentBase)context.getApplication().createComponent(“mycomponent”)

如果这是正确的,如何添加组件?我正在使用JSF2.2
如果我能找到更多关于这方面的链接,我将非常感激。

它必须发生在视图构建时,而不是视图渲染时。查找标记处理程序。或者,为你心中的问题寻找不同的解决方案。这一切都很奇怪@BalusC,所以我不能重用自定义组件来创建新组件?