Myfaces Tomahawk PickList, part 1

O projeto Myfaces Tomahawk tem vários componentes super legais para você aumentar a usabilidade de seu sistema web baseado na tecnologia Java. Um desses componentes é o selectManyPickList.
Este componente permite que você configure uma lista de itens do lado esquerdo para que você possa selecionar alguns ou todos os componentes para o campo da direita.
É muito fácil de utilizar.
Ao dar o submit na sua página, você pode pegar os dados selecionado no campo da direita através de uma lista(List).
Neste primeiro post sobre o picklist, vou deixar uma forma simples de utilização. Nos próximos posts sobre o picklist vou deixar um legal ensinando você a preencher a lista dinamicamente, por exemplo com dados de uma banco de dados, e dando submit para atualizar através do Ajax.
Vamos lá:
#1 - Configure sua aplicação Web Java da maneira que você achar melhor. Eu utilizei o Maven para montar a estrutura e baixar os jar’s necessários. Caso você utiliza o Maven aqui a dependência necessária para o Myfaces Tomahawk:

...
<dependency>
            <groupId>org.apache.myfaces.tomahawk</groupId>
            <artifactId>tomahawk</artifactId>
            <version>1.1.8</version>
            <scope>runtime</scope>   
</dependency>
...

#2 - Vamos direto ao trecho de código do picklist:

<h:form>
    <t:selectManyPicklist value="#{pickListBean.choiceGroup}" size="5">
       <f:selectItem itemValue="1" itemLabel="Web4u 1" />
       <f:selectItem itemValue="2" itemLabel="Web4u 2" />
       <f:selectItem itemValue="3" itemLabel="Web4u 3" />
    </t:selectManyPicklist>
   
    <h:commandButton value="Submit" type="submit" action="#{pickListBean.action}"/>
</h:form>

Este trecho de código acima, apresenta uma lista com 3 itens em um espaço que foi pré-configurado para receber 5.

#3 - Vamos a nossa classe PickListBean.java:

package br.eti.web4u.picklist;

import java.util.List;

public class PickListBean {
  private List choiceGroup;

  public List getChoiceGroup() {
    return this.choiceGroup;
  }

  public void setChoiceGroup(List choiceGroup) {
    this.choiceGroup = choiceGroup;
  }
 
  public String action() {
                //to do
    return null;
  }
}

Esta classe tem uma propriedade do tipo List onde você também pode utilizar da forma Generics como List ou de List.
Ao dar submit, os dados selecionados na caixa da direita são adicionados pelo componente nesta lista(List).

#4 - faces-config.xml:

...
<managed-bean>
    <managed-bean-name>pickListBean</managed-bean-name>
    <managed-bean-class>br.eti.web4u.picklist.PickListBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
</managed-bean>
...

Esta é a configuração para adicionar o PickListBean na lista de Beans do framework.

Isso ai.. muito fácil.
Depois eu volto na parte 2 para mostrar a construção de forma dinâmica e com Ajax.

Auf wiedersehen
_o/
Icon The Rolling Stones

Leave a Reply