Você pode arrastar o componente Lista suspensa padrão do JavaServer Faces
da Paleta para o Visual Designer para criar uma Lista suspensa (ou caixa de combinação) que permita ao usuário clicar em um botão e selecionar itens na lista.
Uma Lista suspensa é uma lista de itens que é exibida inicialmente como um único item e, quando clicada, exibe uma lista de vários itens. É possível selecionar apenas um item por vez. As listas suspensas são o mesmo que caixas de combinação em Swing e Microsoft Windows, e são chamadas de listas de seleção em HTML.
Uma Lista suspensa é um componente composto: o componente de fechamento
(suspenso) gerencia o estilo e o comportamento da própria lista,
e o componente interior (dropdownSelectItems) é usado para vincular os itens reais na lista. Um terceiro elemento relacionado chamado dropdownDefaultItems é criado para cada componente Lista suspensa que você adiciona à página e contém uma matriz de itens padrão estáticos da lista (item1, item2,
item3). Geralmente você não trabalha com esse último componente. Você pode ver todos esses componentes na janela Navegador depois de adicionar uma Lista suspensa em sua página.
Uma Lista suspensa é renderizada como uma marca HTML <select>
com o atributo size=1.
A propriedade value da Lista suspensa não é renderizada na tela mas é usada quando o formulário é enviado. A propriedade value se refere ao elemento de lista selecionado no momento. A lista exibida no componente é controlada pela parte dropdownSelectItems do componente.
Depois de adicionar um componente Lista suspensa a uma página JSF Visual Web, você pode:
id do componente. No bean de página, o valor desta propriedade é o nome do objeto HtmlSelectOneMenu.dropdownSelectItems do componente, não pela propriedade value. Consulte Preencher lista a partir do banco de dados para obter uma forma típica de definir a parte dropdownSelectItems do componente.validate do componente para que você possa inserir o código para validar o valor do componente.processValueChange do componente para que você possa inserir o código que é executado quando o valor deste componente sofrer alterações (por exemplo, quando o usuário altera o valor de outro componente que esteja controlando o valor deste componente).value do componente a um objeto ou a um provedor de dados, conforme descrito em Caixa de diálogo Vincular aos dados. common_timeoutSubmitForm(this.form, 'id-do-componente');. Em tempo de execução, este código faz com que o formulário seja enviado automaticamente se o usuário alterar o valor do componente. Depois de o formulário ter sido enviado, ocorre a conversão e a validação no servidor, quaisquer métodos ouvintes de alteração de valor são executados e, em seguida, a página é reexibida.
Um componente configurado como Enviar automaticamente ao alterar pode usar formulários virtuais para limitar os campos de entrada processados quando o formulário é enviado. Se o componente de envio automático for definido para enviar um formulário virtual, somente os participantes de tal formulário virtual serão processados quando o envio automático ocorrer.