[RESOLVIDO] Select box vir selecionado o que retornou do banco
10 respostas
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,
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})?
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.
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>
glock
era isto mesmo o problema, cara muito obrigado mesmo.