JSF Java服务器面临组件的动态加载

JSF Java服务器面临组件的动态加载,java,jsf,wildfly,Java,Jsf,Wildfly,我正在尝试加载自定义组件(从UIInput开始下降)。然后,我将html输入编码回客户端。因此,我的组件加载器是: @FacesComponent("TomsWidgetComponent") @SessionScoped public class TomsWidgetComponent { public TomsInput getNewInput(UIComponent parent) { ExpressionFactory factory = getFacesContext().getA

我正在尝试加载自定义组件(从
UIInput
开始下降)。然后,我将
html
输入编码回客户端。因此,我的组件加载器是:

@FacesComponent("TomsWidgetComponent")
@SessionScoped
public class TomsWidgetComponent {
public TomsInput getNewInput(UIComponent parent)
{
  ExpressionFactory factory = getFacesContext().getApplication().getExpressionFactory();

    TomsInput newComponent = (TomsInput) getFacesContext().getApplication().createComponent(getFacesContext(), "org.tom.example.toms.TomsInput", "org.tom.example.toms.TomsInput");
    String newId = FacesContext.getCurrentInstance().getViewRoot().createUniqueId();
    newComponent.setId(newId);
    elements.put(newId, newComponent);

    newComponent.setInputData(new InputData());

    ValueExpression valueExpression = factory.createValueExpression(getFacesContext().getELContext(),"#{tomsInput.string}",String.class);
    newComponent.setValueExpression("value", valueExpression);

    getChildren().add(newComponent);
    pushComponentToEL(getFacesContext(), newComponent);
    return newComponent;
}
html

<"input  type="tel"  id="j_id2"  oninput="mojarra.ab(this,event,0,'execute',0)" /input >"
你知道哪里不对吗?谢谢

tomswidgetform=tomswidgetform&j_id2=fffdsdfgbg&javax.faces.ViewState=-6270730402975544133%3A7227399941332846704&javax.faces.source=j_id2&javax.faces.partial.event=input&javax.faces.partial.execute=j_id2%20j_id2&javax.faces.behavior.event=change&AJAX%3AEVENTS_COUNT=1&javax.faces.partial.ajax=true