JSF Geração de Combo Box

Olá, preciso passar um parâmetro para o método que gera o combo pra mim. Porém não sei como fazer.

<h:selectOneRadio value="#{mb.value}"> <f:selectItems value="utils.listCombo"> <f:param value="1" name="parametro"/> </f:selectItems> </h:selectOneRadio>No entanto o quando vou tentar recuperar este valor no método ele não consegue! Recebo um NotNullException.

Alguém sabe como eu posso fazer isso?

Olá,

Adicinar essa regra à sua camada de visão não é uma boa idéia, eu pensaria nisso antes mesmo de tentar fazer a implementação.

Tente gerenciar essas regras organizando-as em listas dentro do seu próprio bean "utils". Se é dinamismo que vc precisa para a aplicação, tente usar o atributo "rendered" ou ainda recursos do ajax4jsf.

Flws!

É pq eu criei um método que via Reflection eu apenas passo o nome da classe para ele consultar no banco e me retornar o Map para o combobox (ou rádio). Então eu precisaria passar o nome da classe para este método para obter esta lista.
O que eu não gostaria de fazer é ter que criar um método para cada Controller, pois são muitos e preciso de agilidade no desenvolvimento.
Como faria isso com esse rendered ou com ajax4jsf?

Olá,

Rendered é um atributo de quase todos os componentes faces. Usado com expressões ou valores booleanos, permite a exibição ou não do componente.

ajax4jsf é um framework que injeta recursos do AJAX em componentes JSF. O uso é muito simples.

Não sei se usar um deles ou os dois vai resolver seu problema, quem sabe se vc tem várias situações dessas sim, vai ajudar no mínimo. Agora, pelo que entendi, você quer um <h:selectOneRadio> que seja montado de acordo com os dados de qualquer tabela ou o clique em uma das posições é que aciona essa consulta?

Flws!

[quote]Agora, pelo que entendi, você quer um <h:selectOneRadio> que seja montado de acordo com os dados de qualquer tabela ou o clique em uma das posições é que aciona essa consulta? [/quote]Eu quero que o selectOneRadio seja montado de acordo com os dados de qualquer tabela no momento que ele está sendo renderizado, ou seja, quando a página for exibida.

Hum…

Então essa forma de uso com o não irá funcionar.
Ele é utilizado apenas quando ações pós renderização (clique sobre uma opção do radio) são efetuadas.

Só com esse componente e um método que use reflection não irá atender seu problema. Você terá de ter algum “agente” que lhe diga qual a tabela será carregada e então renderizar o seu selectOneRadio novamente.

Flws!