Repassando o codigo vi que esta linha tbm esta diferente:
ValueExpression ve = expressionFactory.createValueExpression(elContext,
"#{mbPessoa.filtroTeste}", String.class);
To passando o contexto tbm, tente.
Repassando o codigo vi que esta linha tbm esta diferente:
ValueExpression ve = expressionFactory.createValueExpression(elContext,
"#{mbPessoa.filtroTeste}", String.class);
To passando o contexto tbm, tente.
private void criarComponentes() {
this.setPainel(new HtmlPanelGrid());
this.getPainel().setColumns(2);
HtmlOutputText hotTitulo = (HtmlOutputText) FacesContext.getCurrentInstance().getApplication().createComponent(HtmlOutputText.COMPONENT_TYPE);
hotTitulo.setValue("Configuração do Relatório de Pessoas");
this.setFormulario(new HtmlForm());
FacesContext context = FacesContext.getCurrentInstance();
ELContext elContext = context.getELContext();
Application app = context.getApplication();
ExpressionFactory expressionFactory = app.getExpressionFactory();
ValueExpression ve = expressionFactory.createValueExpression(elContext ,"#{mbPessoa.filtroTeste}", String.class);
//ValueBinding vb = app.createValueBinding("#{filtroTeste}");
itxOperador = new HtmlInputText();
//vb.setValue(context, vb.getValue(context));
itxOperador.setValueExpression("value", ve);
//itxOperador.setValueBinding("value", vb);
//itxOperador.setValue(this.getFiltroTeste());
this.getPainel().getChildren().add(itxOperador);
// this.getFormulario().getChildren().add(this.getPainel());
}
meu código ta exatamente assim, mudei pra add o contexto tbm, mais não funciona,vc fez alguma coisa de mais no xml(jsf)?
Obrigado
voce imprimi o atributo e aparace o conteudo?
Nao mudei mais nada, coloquei um sysout no gerarRelatorio e aparece oq eu digitei.
Muito obrigado pela ajuda, infelismente, continua o problema …
so para desencargo de consciencia posta seu jsf page pra mim.
<?xml version='1.0' encoding='iso-8859-1' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<body>
<f:view>
<h:form binding="#{mbPessoa.formulario}">
<h:panelGrid columns="2">
<h:selectManyCheckbox id="listaPessoasSelecionadas"
value="#{mbPessoa.pessoasSelecionadas}" layout="pageDirection">
<f:selectItems itemValue="#{pes}" var="pes"
value="#{mbPessoa.pessoas}" />
</h:selectManyCheckbox>
<h:panelGrid binding="#{mbPessoa.painel}" columns="2">
</h:panelGrid>
<h:commandButton value="Gera relatorio"
actionListener="#{mbPessoa.gerarRelatorio}" />
</h:panelGrid>
</h:form>
</f:view>
</body>
</html>
Não funcionou…
Pessoal consegui resolver, peguei meu componente e atribui um id para ele, exmplo itxOperador.setId(“idItx”)
Obrigado a todos que me ajudou
erickfm8 você poderia postar seu código completo por favor? O método criarComponente está no seu bean??? Não estou conseguindo fazer.
Desde já eu agradeço.
então isso foi ah mais de dois anos…
não tenho mais o codigo…
qual o problema q vc esta tendo?
bom dia.
Então galera, talvez com isso seja possível solucionar meu problema, o que eu pretendo fazer é o seguinte, tenho um site que é um agregador de links, eu gostaria de disponibilizar um codigo aos meus usuarios que ele renderizasse no site dos meus usuarios os melhores links do dia com um limite de links escolhidos pelo usuario… é possível fazer isso ??
obrigado pela atenção
AmauriSpPoa era exatamente isso que eu queria, só que está dando uma exceção :
[quote]HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.io.NotSerializableException: javax.faces.component.html.HtmlPanelGrid[/quote]
Se mudo o escopo para SessionEscoped ele abre e cria uma vez o InputText, mas na segunda adição diz:
Estou desesperada atrás de uma solução.
Obrigada.
No exemplo esta setando o value via createValueExpression tenta setar o id também no MB
é OBRIGATORIO colocar o id