Preenchendo a lista suspensa HTML no JSP com valores obtidos do database no Servlet

Eu tenho um database flights_DB contendo uma tabela chamada Passengers . Cada passageiro é identificado exclusivamente por seu número de passaporte.

Eu gostaria de criar uma lista drop-down contendo todos os números de passaporte na tabela Passengers . Como posso conseguir isso usando JSP e Servlets?

Supondo que você tenha o modelo e a peça do database já finalizados (conforme os comentários sobre a questão), basta criar uma class de servlet e implementar o método doGet() acordo. É relativamente simples, basta recuperar a lista de passageiros do database, armazená-lo no escopo da solicitação e encaminhar para o JSP que deve apresentá-lo. O exemplo a seguir assume que você está usando EJB / JPA como camada de serviço / database, mas qualquer que seja o serviço / camada de database que você usa, você deve acabar obtendo um List de qualquer maneira.

 @WebServlet("/passengers") public class Passengers extends HttpServlet { @EJB private PassengerService service; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List passengers = service.list(); request.setAttribute("passengers", passengers); request.getRequestDispatcher("/WEB-INF/passengers.jsp").forward(request, response); } } 

Crie um arquivo JSP /WEB-INF/passengers.jsp que use o JSTL para -lo, imprimindo uma nova HTML toda vez:

 < %@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> ...  

(este exemplo pressupõe que a entidade Passenger tenha propriedades id e name )

Isso deveria ser basicamente isso. Basta abrir a página invocando o URL do servlet assim http://example.com/contextpath/passengers .

Veja também:

  • doGet e doPost em Servlets
  • Mostrar o JDBC ResultSet em HTML na página JSP usando o padrão MVC e DAO
  • Preenchendo listas suspensas em cascata no JSP / Servlet