JSP
<rich:pickList value="#{bean.listaDestino}"
copyAllControlLabel=" "
copyControlLabel=" "
removeControlLabel=" "
removeAllControlLabel=" ">
<f:selectItems value="#{bean.ListaOrigem}"/>
</rich:pickList>
Os atributos …ControlLabel possibilitam você alterar o rótulo de cada botão do componente.
BEAN
public class Bean {
private List<MeuObjeto> listaDestino;
private List<SelectItem> listaOrigem;
public List<MeuObjeto> getListaDestino() {
if (listaDestino == null) {
listaDestino = new ArrayList<MeuObjeto>();
}
return listaDestino;
}
public List<SelectItem> getListaOrigem() {
if (listaOrigem == null) {
listaOrigem = new ArrayList<SelectItem>();
/* Criei esse objeto apenas a título de exemplo.
* Num caso real, você poderia buscar a lista do banco.
*/
MeuObjeto o = new MeuObjeto();
listaOrigem.add(new SelectItem(o, o.getNome()));
}
return listaOrigem;
}
public void setListaDestino(List<MeuObjeto> listaDestino) {
this.listaDestino = listaDestino;
}
public void setListaOrigem(List<SelectItem> listaOrigem) {
this.listaOrigem = listaOrigem;
}
}
Pronto!
Dessa forma sua lista já irá funcionar. Ao passar os elementos de uma lista para outra, a listaDestino será atualizada.
Dica bacana!
ResponderExcluirVlw
Amigo como eu faço para pegar o resultado e salvar no banco de dados?
ResponderExcluirQual é a versão do Rich que usou no exemplo?
ResponderExcluirFala, Pablo...
ExcluirEsse tutorial é antigo, foi feito com a versão 3.3.2.
Abraços!!!