1
resposta

como recuperar um objeto no combobox?

Bom, possuo um formulário que possui um combobox que lista todos os valores, esse formulário serve tanto para adicionar algo novo como recuperar um objeto para poder atualizar. Por default eu carrego uma lista valores no combobox, como faço para que quando recuperar um objeto ele monte todos os valores incluindo o combobox?

estou usando JSP; segue Exemplo

<body>

    <c:import url="/WEB-INF/jsp/template/cabecalho.jsp" />

    <article>
        <fieldset>
            <legend> 
                    <c:if test="${tarefa.id != null}">
                        ATUALIZANDO TAREFA ${tarefa.id}
                    </c:if>
                    <c:if test="${tarefa.id == null}">
                        CADASTRANDO NOVA TAREFA
                    </c:if>
            </legend>
              <form action="mvc?logica=AdicionaAlteraTarefaLogic" method="post">
              <input type="hidden" name="id" value="${tarefa.id}">
                Titulo: <input type="text" name="titulo" value="${tarefa.titulo != null ? tarefa.titulo : null }"> <br />
                Descricao: <textarea rows="4" cols="20" name="descricao" maxlength="200">${tarefa.descricao != null ? tarefa.descricao : null}</textarea><br />
                Data:    <geraData:campoData id="data" /> <br />
                Status: <select name="situacao">
                            <c:forEach items="${situacoes}" var="s">
                                <option value="${s.situacao}">${s.situacao}</option>
                            </c:forEach>
                        </select><br />
                <input type="submit" value="Gravar">
              </form>
        </fieldset>
    </article>
    <c:import url="/WEB-INF/jsp/template/rodape.jsp" />

</body>

Vejamos que, recupero na requisição uma lista de objetos que será carregada no combobox.

    @Override
    public String executa(HttpServletRequest request, HttpServletResponse response) throws Exception {

        if (request.getSession().getAttribute("usuarioLogado") != null) {
            request.setAttribute("situacoes", Arrays.asList(Situacao.values()));
            return "WEB-INF/jsp/view/adiciona.jsp";
        }
        return "mvc?logica=TelaLogin";
    }
1 resposta

Opa, em função o valor da situação você precisa fazer um código para recuperar o objeto completo. O seu formulário só manda texto para o servidor, lembre sempre disso :).

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software