-Dúvida JSF - Recuperar um lista do BD e exibir como opcoes de um selectOneMenu

Eu tenho uma tabela no banco de dados como o nome aeroporto,
para cadastrar uma companhia aérea eu preciso de exibir
os nomes dos aeroportos assim vou saber em que aeroporto
essas companhias trabalham para cadastrar.
O problema esta em recuperar os nomes dos aeroportos para exibir
para o cliente e mostrá-los em um selectOneMenu.
O meu método que retorna uma lista com o nome
dos aeroportos já está pronto mais não sei como
a partir dessa lista criar o selectOneMenu.

Camarada, eu tentei de todas as formas fazer isto usando diretamente List, porém, o jsf sempre jogava como objeto.
Então, radicalizei, converti as Lists em Arrays de String e colocava apenas o nome.

Mesmo convertendo para um array de strings eu ainda não saberia como exibi-las em
um selectOneMenu, não tem como dar uma dica de como fazer isso? 8)

um exemplo de criacao de selectOnemenu com a descricao dos meses do ano:

public List<SelectItem> getListaMes() {
		String[] names = new DateFormatSymbols().getMonths();
		months = new LinkedHashMap<String, Long>();
		listaMes = new ArrayList<SelectItem>();
		for (int i = 0; i < 12; i++) {
			months.put(names[i], new Long(i + 1));
		}
		for (String m : months.keySet()) {
			listaMes.add(new SelectItem(months.get(m), m));
		}
		return listaMes;
	}

Se vc for utilizar objetos de dominio ai vai precisar de um conversor

ha esqueci , declare uma variavel como :


private List<SelectItem> listaMes;

o get dela esta no post acima,ai na pagina fica assim:

<h:selectOneMenu
			 id="selectMes"
			value="#{seuBean.propriedade}">
			<f:selectItems value="#{seuBean.listaMes}" />			
		</h:selectOneMenu>
String[] arrayDeString = new String[listaDeObjetos.size()];
int x = 0;
for(Objeto o : listaDeObjetos){
  arrayDeString[x] = o.getNome();
}

e no xhtml

<h:selectOneMenu value="#{meuBean.selecionado}" id="sel">
  <f:selectItems value="#{meuBean.arrayDeString}" var="arr">
    <f:selectItem itemValue="#{arr}" itemLabel="#{arr}"/>
  </f:selectItems>
</h:selectOneMenu>

Algo assim

[quote=drsmachado]Camarada, eu tentei de todas as formas fazer isto usando diretamente List, porém, o jsf sempre jogava como objeto.
Então, radicalizei, converti as Lists em Arrays de String e colocava apenas o nome.[/quote]

veio, você tentou criar um conversor?acho que seria uma melhor solução para o seu caso.