Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/07/2011, 03:51
elpre
 
Fecha de Ingreso: junio-2011
Mensajes: 151
Antigüedad: 12 años, 10 meses
Puntos: 2
combobox sin repetir valores

Hola me ha surgido un problema que ni idea de como solucionarlo a ver si me explico bien.

Tengo una BD con proyectos. Cada proytecto tiene un nombre de proyecto, motor, oferta, nivel y cliente.

Tengo un jsp en el que hay dos links, uno para nueva oferta y otro para ver oferta, es este:
Código:
<jsp:include page="includes/header.jsp"/>
<jsp:include page="includes/menu.jsp"/>
<jsp:include page="includes/content.jsp"/>

<a href="RedirectServlet?url=/nuevo.jsp">Nueva Oferta</a><br>
<p>
<a href="verProyecto">Ver Oferta</a>

<jsp:include page="includes/sidebar.jsp"/>
<jsp:include page="includes/footer.jsp"/>
Como podeis ver "Ver Oferta" pasa por un servlet y este es el servlet:
Código:
package Servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import Dao.*;

public class ServletVerProyecto extends ServletBase{
	
	@Override
	void execute(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		HttpSession session=req.getSession(true);
		
		OfertasFacade facade=new OfertasFacade();
		Ofertas ofertak=facade.ofertas();
		
		req.setAttribute("ofertak", ofertak.getOfertas());		
				
		RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/ver.jsp");
		dispatcher.forward(req, resp);
	}
        
        ...
}
En esta línea 'req.setAttribute("ofertak", ofertak.getOfertas());' meto en el atributo ofertak, todas las ofertas que tengo y voy a ver.jsp, que sería este:
Código:
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<jsp:include page="includes/header.jsp"/>
<jsp:include page="includes/menu.jsp"/>
<jsp:include page="includes/content.jsp"/>

<div align="right"><a  href="RedirectServlet?url=/index.jsp">Ir a las fases</a></div>	
Proyecto:
<select name="verProyecto" size="5" onchange="location=this.options[this.selectedIndex].name;">>
	<c:forEach var="x" items="${requestScope.ofertak}">
		<option value="${x.idproy}" name="${x.idproy}" selected>${x.proyecto}</option>
	</c:forEach>
</select>

Motor:
<select name="verProyecto" size="5" onchange="location=this.options[this.selectedIndex].name;">>
	<c:forEach var="x" items="${requestScope.ofertak}">
		<option value="${x.idproy}" name="${x.idproy}" selected>${x.motor}</option>
	</c:forEach>
</select>

Oferta:
<select name="verProyecto" size="5" onchange="location=this.options[this.selectedIndex].name;">>
	<c:forEach var="x" items="${requestScope.ofertak}">
		<option value="${x.idproy}" name="${x.idproy}" selected>${x.oferta}</option>
	</c:forEach>
</select>

<jsp:include page="includes/sidebar.jsp"/>
<jsp:include page="includes/footer.jsp"/>
Bien pues en el combobox me aparece lo que quiero pero hay un problema y es que algunos valores son null (pueden serlo) y otros se repiten (pueden repetirse) y lo que me gustaría es hacer que no se viesen ni los null ni los repetidos.

Espero haberme explicado bien y a ver is alguien puede ayudarme, gracias de antemano