Você pode arrastar o componente Caixa de listagem de seleção múltipla padrão do JavaServer Faces da Paleta para o Visual Designer a fim de criar uma caixa de listagem que permita ao usuário selecionar itens múltiplos em uma lista de itens.
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 de seleção múltipla é um componente composto que possui os seguintes elementos:
O componente de fechamento, multiSelectListbox, gerencia o estilo e o comportamento da lista em si. Além disso, quando o usuário envia a página, a propriedade value deste componente é uma matriz Object que contém as opções do usuário. Você pode vincular a propriedade value deste componente a uma matriz ArrayList e usar esse objeto para testar quais foram as opções do usuário.
O componente interno, multiSelectListboxSelectItems, deve ser usado para vincular um provedor de dados que especifica os itens reais na lista.
Um terceiro componente relacionado, multiSelectListboxDefaultItems,
contém uma matriz de todos os itens de lista iniciais. Esta matriz é usada para preencher a lista somente se a lista não estiver vinculada a um bean de propriedade ou provedor de dados. O padrão desta lista é item1,
item2, item3.
Depois de arrastar o componente para o Visual Designer, você pode:
Selecionar o componente Caixa de listagem de seleção múltipla e arrastá-lo para outro local da página.
Clique com o botão direito do mouse no componente multiSelectListbox na e escolha Vinculações de propriedade para vincular sua propriedade value a uma matriz Object que você adicionou ao bean de sessão como uma propriedade. Você pode usar esta propriedade do bean sessão para avaliar o que o usuário escolhe depois que a página é enviada.
Para obter mais informações, consulte a descrição da propriedade value abaixo.
Clique com o botão direito do mouse no componente multiSelectListboxSelectItems na janela Navegador e vincule-o a um bean de propriedade ou provedor de dados que será usado para preencher a lista.
Selecione o componente Caixa de listagem de seleção múltipla da página no Visual Designer e edite suas propriedades na janela Propriedades do Caixa de listagem de seleção múltipla. Estas propriedades afetam o estilo e o comportamento global da lista. Algumas propriedades típicas que você pode definir são:
id. O nome do componente Caixa de listagem de seleção múltipla. 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 HiddenField.
value. Os dados enviados quando a página é enviada.
Este componente pode ter mais de um valor, o que tem implicações sobre qual tipo de valor pode ser usado.
Se você usar uma expressão de vinculação de valor, a mesma deverá apontar para uma matriz de objetos ou primitivos. Os elementos individuais desta matriz representam os valores selecionados no momento no conjunto de todas as opções possíveis.
Se não usar uma expressão de vinculação de valor, o objeto retornado quando você chama checkboxGroup.getValue() será uma matriz Object.
Não existe uma forma útil de vincular este componente aos dados do banco de dados, pois o valor será normalmente representado por várias linhas em alguma tabela de detalhe.
Uma forma comum de processar os valores escolhidos pelo usuário é vincular este componente a uma matriz ArrayList e verificar os valores da matriz quando o usuário enviar a página.
disabledClass Uma classe de estilo CSS definida na folha de estilo da página ou na sua seção <head> que deve ser aplicada aos rótulos das caixas de verificação desativadas na lista.
enabledClass Uma classe de estilo CSS definida na folha de estilo da página ou na sua seção <head> que deve ser aplicada aos rótulos das caixas de verificação ativadas na lista.
Desative ou ative uma opção da lista, configurando ou limpando a propriedade desativada do componente SelectItems usado para inicializar a opção.
Clique com o botão direito do mouse no componente Caixa de listagem de seleção múltipla no Visual Designer e escolha uma das várias ações, algumas delas listadas abaixo:
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 desse componente se altera (por exemplo, o usuário escolheu dois itens de lista e pressionou Enter).
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.