Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rdpacato

Pegar valor do combobox e usar em outra página

Recommended Posts

Pessoal,

 

Na verdade são duas dúvidas. Uso JSP + SERVLET + BD

 

Estou trabalhando com iframe, então na verdade uma das páginas será "estática" que será onde terá os menus.

 

1ª Dúvida:

- Como faço para deixar um combobox pré carregado com dados do BD?

 

2ª Dúvida:

- Existe uma maneira (Javascript ou outro meio) de após ser selecionado esse valor no combobox (na tela principal que não ficará sendo carregada toda hora (refresh)) e usar em outra página como parâmetro?

 

Por exemplo, abri uma tela dentro do iframe, nesta tela tem um botão de pesquisa, que irei utilizar com um dos parâmetros o valor do combobox, da tela principal que está o iframe. tem como?

 

 

 

 

Eu já gerei a lista e está no Servlet.

Só que não carrega ao iniciar a página pq o servlet que eu aponto está como POST.

SERVLET:

 protected void doPost(HttpServletRequest request,   HttpServletResponse response) throws ServletException, IOException {    PgpmDAO dao = new PgpmDAO();     // INFORMAÇÕES DOS ERROS DO PROCESSAMENTO  List<ListaVeiculo> veiculos = dao.listaVeiculos();  request.setAttribute("veiculo", veiculos);    // ENVIA PARA A TELA DE RESULTADO  request.getRequestDispatcher("3.jsp").forward(request, response);   }

JSP:

  <h3>VEÍCULO</h3>  <div id="comboVeiculo">   <select name="veiculo" style="width:263px;">    <option value="0">SELECIONE</option>     <c:forEach var="veiculos" items="${veiculo}">      <option value="${veiculo}"> ${veiculo}</option>     </c:forEach>   </select>      </div>

Mas não é esse servlet, eu separei, pq tem um do form (submit) para enviar para uma tela de pesquisa, eu separei pq acho que tem que carregar o servlet antes da jsp correto? como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso ai é JSF não!?

<h3>Veiculos</h3>
<div id='comboVeiculo'>
  <select name='veiculo'>
      <option selected disabled>selecione</option>
      <%List<ListaVeiculo> veiculos = request.getAttribute("veiculo");
      for(ListaVeiculo lv : veiculos) { 
          String veiculo = lv.toString();
      %>          
         <option value="<%=veiculo%>"> <%=veiculo%> </option>
      <% } %>
  </select>
</div>

Não pude testar, mas seria isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá rnxn, obrigado por me ajudar...

 

Mas o meu problema está assim..

 

Essa página que possui o combobox, chama outro servlet quando da submit, eu criei este servlet específico para criar a combobox, mas teria que carrega-la quando abre a página, mas não sei como.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha situação atual:

 

 

Estou querendo popular uma combobox, mas o meu problema que não sei quando chamar o servlet (e como neste caso)

tenho a lista já pega no BD e enviada para o Servlet:

 

  PgDAO dao = new PgDAO();
   
  // INFORMAÇÕES DOS ERROS DO PROCESSAMENTO
  List<ListaPg> gramas = dao.listaPg();
  request.setAttribute("grama", gramas);
  
  // ENVIA PARA A TELA DE RESULTADO
  request.getRequestDispatcher("index.jsp").forward(request, response);

Na JSP:

 

  <div id="comboGrama">
   <select name="grama" style="width:263px;">
    <option value="0">SELECIONE</option>
     <c:forEach var="gramas" items="${grama}">
      <option value="${gramas.grama}"> ${gramas.grama}</option>
     </c:forEach>
   </select>    
  </div>

Só que não sei quando chamar o servlet...

Minha aplicação está assim:

Tela de Login --> Servlet para Validar Login --> Index.jsp

Não funcionou quando coloquei na Servlet Validar Login, agora não sei como e onde chamar para preencher a lista

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi

 

Combo:

		<div id="comboGrama">
		<c:import url="ServletGrama" />
		<c:set var="lista" value="${requestScope.listaGrama}" />
			<select name="grama" id="selecionado" style="width:263px;">
				<option value="0">SELECIONE</option>
					<c:forEach var="listas" items="${lista}">
						<option value="${listas.grama}">${listas.grama}</option>
					</c:forEach>
			</select>				
		</div>

Jquery:

function displayVals() {
	  var gramaSeleionado = $('#selecionado :selected').text();
	  $.ajax({
	        type: 'POST',
	        url: 'ServletGrama',
	        data: {
	            grama:gramaSeleionado
	        },
	        beforeSend:function(){
	            // this is where we append usually a loading image
	        },
	        success:function(data){
	            // successful request; do something with the data
	            $('#output').html(data);

	        },
	        error:function(){
	            // failed request; give feedback to user
	        }
	    });	  
	}
	$( "select" ).change( displayVals );
	displayVals();

ServletGrama:

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
	
		PgpmDAO dao = new PgpmDAO();
		HttpSession session = request.getSession();
		String login = (String) session.getAttribute("loginUsuario");
		
		// LISTA DE GRAMAS DO BD
		List<ListaGrama> gramas = dao.listaGramas(login);

		request.setAttribute("listaGrama", gramas);
		
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.