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";
}