Você pode arrastar o componente Caixa de listagem do padrão do JavaServer Faces da Paleta para o Visual Designer a fim de criar um componente que permita ao usuário seleciona um item de uma lista de itens. Se a caixa for muito pequena para abranger os itens da lista, a caixa de listagem inclui barras de rolagem. Somente um item pode ser selecionado de cada vez. Se você quiser uma caixa de listagem na qual vários itens possam ser selecionados,
use o componente Caixa de listagem Básico.
Este componente é uma implementação de referência JavaServer Faces que não usa temas. O componente Caixa de listagem na categoria Básico da Paleta não suporta temas e fornece outros recursos que melhoram o uso, tal como sua opção de uma seleção múltipla ou uma única lista de seleção.
Uma Caixa de listagem é um componente composto: o componente de fechamento
(caixa de listagem) gerencia o estilo e o comportamento da própria lista,
e o componente interior (listboxSelectItems) é usado para vincular os itens reais na lista. Um terceiro elemento relacionado chamado listboxDefaultItems é criado para cada componente Caixa de listagem 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 Caixa de listagem à sua página.
Uma caixa de listagem é renderizada como uma marca HTML <select> com o atributo size definido com um valor maior que 1.
Depois de adicionar um componente Caixa de listagem à pagina JSF Visual Web, você pode:
Selecionar o componente e arrastá-lo para outro local da página.
Arraste uma tabela da e solte-a no componente, em seguida, escolha entre preencher a lista com dados de tabela ou configurar o componente para que as seleções sejam controladas por outro componente. Para obter mais informações, consulte Vinculando um componente Lista a um banco de dados.
Selecione o componente e editar suas propriedades na janela Propriedades da Caixa de listagem. Algumas propriedades típicas que você pode definir são:
id. O nome do componente Caixa de listagem. No arquivo JSP, este nome é o valor do atributo id do componente. No bean de página, o valor desta propriedade é o nome do objeto Image.
tamanho. O número de opções que serão mostradas de uma vez.
Se houver mais opções a serem mostradas do que indicado nesta propriedade, será adicionada uma barra de rolagem na caixa de listagem. Se esta propriedade não for definida, todas as opções serão exibidas.
value. Na verdade, você não precisa definir esta propriedade. A propriedade value não é renderizada na tela, mas é usada quando o formulário é submetido para enviar o elemento de lista selecionado no momento. A lista exibida no componente é controlada pela parte listboxSelectItems 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 listboxSelectItems do componente.
Clique com o botão direito do mouse no componente e escolha um dos seguintes itens no menu pop-up:
Editar manipulador de eventos. Escreve o código de um dos manipuladores de eventos a seguir.
validate. Abre o Editor de Java com o cursor posicionado no método validate do componente para que você possa inserir o código para validar o valor do componente.
processValueChange.Abre o Editor Java com o cursor posicionado no método 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).
Vincular aos dados. Abre uma caixa de diálogo que permite que você vincule o componente a um objeto ou provedor de dados que atualizará a lista dinamicamente. Por exemplo, você deve escolher essa opção em vez de soltar uma tabela no componente, se uma tabela de banco de dados já tiver sido adicionada à página. Para obter mais informações, consulte Caixa de diálogo Vincular aos dados.
Enviar automaticamente ao alterar Faz com que o formulário seja enviado automaticamente se o valor do componente sofrer alterações. Define a propriedade onclick JavaScript do componente como 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.
Configurar formulários virtuais. Permite adicionar o componente a um formulário virtual.
Vinculações de propriedade. Abre a caixa de diálogo que permite vincular as propriedades do componente a outros objetos ou propriedades que podem atualizar automaticamente as propriedades deste componente.
Adicionar atributo de vinculação. Essa opção adiciona um atributo de vinculação ao componente
Observação: se você planeja fazer o script do componente em código Java, deve adicionar um atributo de vinculação manualmente, que é vinculado usando uma expressão vinculadora de valor a uma propriedade do bean da página de backup.
Remover atributo de vinculação Essa opção remove o atributo de vinculação do componente.