Problema com Combo Box

1 resposta
R

Olá Galera estou querendo efetuar um cadastro de produto num formulário que tem duas combo box, preenchida por duas entidade “tipo” e “categoria”, porem quando efetuo a consulta e a partir dai chamo para alterar com base do “ID” passado pela “table” de consulta o formulário de cadastro não esta findo preenchido com os dados da combo box, se alguém poder me ajudar.
Valeu

SERVLET

private void Alterar(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

int idProduto = Integer.parseInt(request.getParameter("id_Produto"));
	Produto p;
	Produto_Dao p_dao = new Produto_Dao();
	Tipo_Produto tp = new Tipo_Produto();
    Categoria_Produto cp = new Categoria_Produto();
	
	p = p_dao.consultar(idProduto);
	
	
	tp = p.getTipo_Produto();
	cp = p.getCategoria_Produto();
	
	HttpSession sessao = request.getSession();
	sessao.setAttribute("id_Produto", Integer.parseInt(request.getParameter("id_Produto")));
	sessao.setAttribute("p",p);
	sessao.setAttribute("tipos_Produto", tp);
	sessao.setAttribute("categorias_Produto",cp);
	response.sendRedirect("cadastrarProduto.jsp");

JSP

<!-- Form -->
						<div class="form">

							<p>
								<label>Código</label> <input type="text" class="field size2"
									name="id_Produto" value="${sessionScope.p.id_Produto}" />
							</p>
						 
							<p>
								<label>Tipo</label> <select name="tipos_Produto">
									<c:forEach var="tp" items="${tipo_Produto}">
										<option value="${tp.id_Tipo_Produto}">${tp.nome_Tipo_Produto}</option>
									</c:forEach>
								</select>
							</p>


							<p>
								<label>Categoria</label> <select name="categorias_Produto">
									<c:forEach var="cp" items="${categoria_Produto}">
										<option value="${categorias_Produto.id_Categoria_Produto}">${categorias_Produto.nome_Categoria_Produto}</option>
									</c:forEach>
								</select>
							</p>
							
							<p>
								<label>Nome</label> <input type="text" class="field size1"
									name="nome_Produto" value="${sessionScope.p.nome_Produto}" />
							</p>
							<p>
								<label>Descrição</label> <input type="text" class="field size1"
									name="descricao_Produto"
									value="${sessionScope.p.descricao_Produto}" />
							</p>

							<p>
								<label>Valor de Compra</label> <input type="text"
									class="field size1" name="valor_Entrada_Produto"
									value="${sessionScope.p.valor_Entrada_Produto}" />
							</p>
							<p>
								<label>valor de Venda</label> <input type="text"
									class="field size1" name="valor_Saida_Produto"
									value="${sessionScope.p.valor_Saida_Produto}" />
							</p>

						</div>
						<!-- End Form -->

						<!-- Form Buttons -->
						<div class="buttons">
							<input type="reset" class="button" value="Limpar" /> <input
								type="submit" class="button" value="Salvar" />
								<input type='hidden' name='operacao' value='incluir'>
						</div>
						<!-- End Form Buttons -->

					
						<c:remove var="p" scope="session" />
					</form>

1 Resposta

wagnerfrancisco

Edita sua mensagem e us as tags code no seu código, ficará bem mais fácil pra entender.

Quando ao seu código, sugiro duas coisas:

  1. Imprima os valores na Servlet pra ver se eles realmente estão vindo do banco.
  2. Na sua JSP me parece que o nome de acesso dos atributos estão errados. Por exemplo, você adicionou o atributo tipos_Produto (sessao.setAttribute('tipos_Produto", tp) e depois tentou acessar a variável “tipo_Produto”, sem o s. O mesmo acontece com categoria.
Criado 21 de agosto de 2012
Ultima resposta 21 de ago. de 2012
Respostas 1
Participantes 2