[RESOLVIDO] Select box vir selecionado o que retornou do banco
10 respostas
G
glock
Bom dia pessoal,
Estou desenvolvendo uma atividade de faculdade, e tenho um form de alterar motorista que possui um select box para selecionar a transportadora a qual o motorista pertence:
Se estivesse usando struts ou jsf seria mais simples.
Bem, precisará criar um atributo na servlet e colocá-lo no escopo, para, ao ser capturado, fazer a comparação pelo id e, então, marcá-lo como selecionado.
Mais ou menos assim
sem querer abusar,mas já abusando, como ficaria com jsf?
att,
D
drsmachado
sem querer abusar,mas já abusando, como ficaria com jsf?
att,
Como jsf exige que você aponte o atributo correspondente do managedBean, fica mais simples.
Você captura a lista de itens disponíveis e, depois, obtém o elemento selecionado.
Isso ${umMotorista.transportadora} é o id de transportadora (${transportadora.id})?
G
glock
é isto mesmo mesmo. Tentei fazer o que tinha falado, porem não funcionou. Ao executar o alterar motorista, não retornou a transportadora em que o motorista pertencia selecionado.
D
drsmachado
Bom, depois de pesquisar e de ficar tentando resolver a questão, me deparei com o seguinte tópico:
Em tempo, em JSF2 ficaria assim:
ManagedBean (a lista está estática, mas poderia receber os valores de qualquer banco de dados
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packagebr.com.teste.mb;importjava.util.ArrayList;importjava.util.List;/** * * @author Administrador */@javax.faces.bean.ManagedBean(name="mb")publicclassManagedBean{privateList<String>items=newArrayList<String>();privateStringitemSel;privateStringitemSel2;publicStringgetItemSel2(){itemSel2="PR";returnitemSel2;}publicvoidsetItemSel2(StringitemSel2){this.itemSel2=itemSel2;}publicStringgetItemSel(){itemSel="RS";returnitemSel;}publicvoidsetItemSel(StringitemSel){this.itemSel=itemSel;}publicList<String>getItems(){items.add("MA");items.add("BA");items.add("CE");items.add("MT");items.add("PR");items.add("SP");items.add("RJ");items.add("SC");items.add("RS");items.add("TO");items.add("PA");items.add("GO");items.add("MS");returnitems;}publicvoidsetItems(List<String>items){this.items=items;}}
e a xhtml
<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><h:head><title>Demonstração</title></h:head><h:body><h:form><h:panelGridcolumns="1"><h:outputLabelvalue="Exemplo de item selecionado com selectManyListBox"/><h:selectManyListboxvalue="#{mb.itemSel}"><f:selectItemsvalue="#{mb.items}"/></h:selectManyListbox><br/><h:outputLabelvalue="Exemplo de item selecionado com selectOneListBox"/><h:selectOneMenuvalue="#{mb.itemSel2}"><f:selectItemsvalue="#{mb.items}"/></h:selectOneMenu></h:panelGrid></h:form></h:body></html>
G
glock
era isto mesmo o problema, cara muito obrigado mesmo.