Como criar um f:attribute no ManagedBean

8 respostas
fer.ferreira6

Galera,

Alguém manja como crio um f:attribute para um objeto do primefaces, no caso um autoComplete, só que no managedBean?
Tipo, não vou criar o componente no xhtml, mas no ManagedBean, é um componente dinâmico.

Muito Obrigado pela atenção.

8 Respostas

K

Assim…

<p:autoComplete 
 ...
       <f:attribute name="seiLa" value="valor">
</p:autoComplete>

seu metodo do autocomplete

public List<String> complete(String query) {
    FacesContext context = FacesContext.getCurrentInstance();
    String valor = (String) UIComponent.getCurrentComponent(context).getAttributes().get("seiLa");
    // ...
}

e seja feliz. :slight_smile:

fer.ferreira6

Opa kleberdamasco

Não é bem isso que preciso.
Preciso criar esse f:attribute, porém, no ManagedBean.
O componente autoComplete é criado lá, e não no xhtml =/

K

Estas querendo fazer um binding do componente entao?

mas afinal de contas, o que você quer fazer? seja mais especifico.

fer.ferreira6

Isso

Um Binding do autoComplete, mas isso eu já fiz.
Preciso criar um f:attribute e anexar a esste autoComplete.

K

E pra que queres fazer o binding do f:attribute?
queres controlar o que pelo managedBean?

recuperar o valor passado pelo xhtml lá no mb?

fer.ferreira6

Quero passar um valor fixo do autoComplete criado no managedBean para alguns métodos criados em outros managedBeans.
Posso ter criado nenhum ou vários autoCompletes dinâmicamente.

K

Não estou conseguindo entender realmente, tente alguma coisa com exemplos. Ao meu ver vc está querendo algo que não é possível.

fer.ferreira6

É possível sim, só não sei fazer rs.

Vou pegar um exemplo e posto.

Criado 21 de dezembro de 2012
Ultima resposta 22 de dez. de 2012
Respostas 8
Participantes 2