Referencia a um componente dentro de um Composite Componente no JSF 2

3 respostas
wzomer

Olá!

Estou com o seguinte problema, peço ajuda caso alguém possa me dar uma luz.

Estou criando um componente no JSF 2, este por sua vez contém um <h:panelGroup id=“painelBusca”> em sua implementação.
Em um botão, habilitei o ajax e a renderização para o mesmo <f:ajax render=“painelBusca”>;

O problema é que o componente painelBusca é setado por padrão com o nome do form + id do componente antes. Formando algo como nome final de “nomeDoForm:idComponente:painelBusca”

Posso fazer uma concatenação desses elementos e aí sim conseguiria fazer funcionar, consigo ter o id do componente por #{cc.id}, mas não sei como ter o nome do formulário, pois ele é dinâmico, pois meu componente não tem um formulário, ele é inserido em outras páginas que já contem o formulário criado, e cada um com um nome diferente.
Sei que poderia usar a propriedade do <h:form> em minhas páginas para desabilitar a inclusão do id do form nos componentes, mas isso iria impactar em outros lugares.

Então segue as dúvidas:

Há alguma forma de referenciar de forma mais fácil o elemento “painelBusca”?
Se não, há como eu saber o nome do formulário onde meu componente foi colocado?

Obrigado.

3 Respostas

wzomer

Lembrando que o botão que faz o ajax também está dentro do componente, ele é “irmão” do painelBusca.

R

ja tento adicionar uma nova propriedade no seu componente e passar o nome do form para o mesmo?

wzomer

Sim, e funcionou. Mas gostaria de fazer o melhor componente possível, sem ter que ficar mandando atributos auxiliares… E isto parece ser possível, só não sei como…

Criado 25 de janeiro de 2012
Ultima resposta 26 de jan. de 2012
Respostas 3
Participantes 2