Atualização de JSP

Boa noite, estou tentando criar uma aplicação que consulta uma tabela e exibi no navegador seus registros ao usuário, após isso ele pode selecionar uma das linhas e consultar todos os registros de outra tabela que tenham referência a linha selecionada.
Adicionei na Servlet para buscar no banco de dados e retornar a tal lista, utilizei o método request.setAttribute() para compartilhar a lista de registros com a página JSP. No entanto, a lista sempre está retornando nulo para dentro da JSP.
Tabela dentro da JSP

<table border="1">
  <tr>
      <th>Id</th>
      <th>Data</th>
      <th>Tipo</th> 
      <th>Valor</th> 
      <th>Passe</th>
      <th>Remover</th>
  </tr>
  <% List<Registro> lreg = (List<Registro>) request.getAttribute("lreg"); %>
  <% if (lreg != null) { %>
  <% for(Registro r : lreg) { %>
  <tr>
      <td> <% out.print(r.getId()); %> </td>
      <td> <% out.print(r.getData()); %> </td>
      <td> <% out.print(r.getTipo().getDescricao()); %> </td> 
      <td> <% out.print(r.getValor()); %> </td> 
      <td> <% out.print(r.getPasseFk()); %> </td>
      <td> 
          <a href="PasseController?op=Deletar Registro&txtid=<% out.print(r.getId()); %>">
              <img src="imgs/trash.svg" alt="Trash Icon" witdh="20" height="20">
          </a>
      </td>
  </tr>
  <% } // for(Registro r : lreg) %>
  <% } // if(!lreg.isEmpty()) %>
</table>

Servlet.

private void execConsultarRegistros(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException, ClassNotFoundException {

    int id = Integer.parseInt(request.getParameter("txtpasse"));

    Registro reg = new Registro();
    reg.setId(id);
      
    RegistroDAO rdao = new RegistroDAO();
    List<Registro> lreg = rdao.consultarPorFk(reg);
    request.setAttribute("lreg", lreg);
}

Esse método é chamado dentro do método processingRequest que verifica qual opção o usuário selecionou.

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String op = request.getParameter("op");

    try {

        if (op.equals("Cadastrar")) {
            this.execCadastrarPasse(request, response);
        } else if (op.equals("Deletar")) {
            this.execDeletarPasse(request, response);
        } else if (op.equals("Adicionar Registro")) {
            this.execAdicionarRegistro(request, response);
        } else if (op.equals("Deletar Registro")) {
            this.execDeletarRegistro(request, response);
        } else if (op.equals("Consultar Registros")) {
            this.execConsultarRegistros(request, response);
        }
        this.exibirPagina(request, response);

    } catch (SQLException | ClassNotFoundException ex) {
        request.setAttribute("msg", ex.getMessage());
        request.getRequestDispatcher("erro.jsp").forward(request, response);
    }
}

O método exibirPagina() apenas atualiza a primeira lista dentro da página.

private void exibirPagina(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException, ClassNotFoundException {

    PasseDAO pdao = new PasseDAO();

    List<Passe> lpasse = pdao.consultarTodos();
    request.setAttribute("lpasse", lpasse);
    request.getRequestDispatcher("principal.jsp").forward(request, response);
}

Se você está enviando algo do Servlet para a página, tem que setar no HttpServletResponse.
O HttpServletRequest você usa pra receber parâmetros da página.
O HttpServletResponse você usa para enviar parâmetros para a página.