Pessoal,
Estou criando componentes JSF dinamicamente e preciso fazer o binding do objeto renderizado para o ManagedBean. E não está dando certo.
Vejam meus códigos:
JSP:
<f:view>
<h:panelGroup binding="#{sample1ComponentBean.painel}" layout="block" style="border: 1px red solid;"/>
</f:view>
Fragmento do ManagedBean para criar o InputText:
String target = "#{"sample1ComponentBean.campoNome"}";
//Constroi um objeto MethodExpression com os parâmetros informados.
ValueExpression valueExpression = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().
createValueExpression(FacesContext.getCurrentInstance().getELContext(), target, String.class);
componente = (HtmlInputText)FacesContext.getCurrentInstance().getApplication().createComponent(valueExpression, FacesContext.getCurrentInstance(), HtmlInputText.COMPONENT_TYPE);
componente.setValueExpression(bindingReference,valueExpression);
Eu insiro esse componente HtmlInputText criado como filho do painel. A rendereziação é perfeita. Mas quando eu executo o action (Que foi renderizado em um botão que funciona legal) o JSF não faz ponteiro do objeto criado para o ManagedBean.
Alguém tem uma dica para que eu enxergue a besteira que estou fazendo?
Vlw