Criar ValueExpression para o binding no JSF 1.2

0 respostas
H

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

Criado 8 de dezembro de 2008
Respostas 0
Participantes 1