Pessoal,
Preciso gerar um OutputText dinamicamente no JSF dentro de uma action.
Tô usando o myfaces no Tomcat 5.5 e fiz assim:
public String action_submit() {
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
//HtmlOutputText outText = new HtmlOutputText();
HtmlOutputText outText = (HtmlOutputText) FacesContext.getCurrentInstance().getApplication().createComponent(HtmlOutputText.COMPONENT_TYPE);
outText.setValue("asd asd asd asd asd asd");
outText.setRendererType("javax.faces.Text");
outText.setRendered(true);
outText.setTitle("teste");
viewRoot.getChildren().add(outText);
return null;
}
Fiz um debug, antes e depois do action e realmente o HtmlOutputText é adicionado ao viewRoot:
System.out.println(viewRoot.getChildCount());
List filhos = viewRoot.getChildren();
Iterator it = filhos.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
Só que não aparece nada na página, ou seja, o HtmlOutputText tá arvore mas não é gerado no HTML após o POST!
Alguém pode me ajudar nessa?
Obrigado.