Substituir codigo do Scriptlet por JSTL

Gostaria de organizar meu código melhor e tirar esse scriptlet e substituir por JSTL mas não faço a minima de ideia de mudar o código abaixo.Poderiam me ajudar ?

            <%
                
      int limite=9;//estava 3
         String numPagina=request.getParameter("numeroPagina");
  if(numPagina==null){
numPagina="1";
int offset=(Integer.parseInt(numPagina)*limite)-limite;

}

 List  listaProdutos=(List)  request.getAttribute("listaProdutos");
 Integer totalRegistros= (Integer)  request.getAttribute("totalProdutos");

 int totalPaginas=totalRegistros/limite;
 if(totalRegistros%limite!=0){
 totalPaginas++;
 }
  else{
     totalPaginas=0;
    }

  String ordenacao=request.getParameter("ordenacao");
  if(ordenacao==null){
ordenacao="prod_nome";
 }
    else{
    ordenacao="";
 }


   for(Iterator iterator=listaProdutos.iterator();iterator.hasNext();){
 Produtos pro=(Produtos) iterator.next();

                %>
          <div class="col-sm-3 col-md-3">
                <div class="linha">
                    
             <img class="imagem_teste" src="<c:url value='/produto/imagens?descricao=${pro.getDescricao()}'/>"
            
      <br />
	<a href="#">
		<p class="descricao_produto"><%=pro.getDescricao()%></p>
		<h4 class="preco"> A partir de R$ <%=pro.getValor()%></h4>
		<button class="saiba_mais" id="saiba_mais1">SAIBA MAIS</button> 
	</a>
</div>
            </div>


         <%
             }
    out.println("</div>");  
   out.println("<div class='conteudo_paginacao'> "); 
    out.println("<div class='row'> ");  

  out.println("<div class='col-8 text-center' > ");
  out.println("<div class='btn-group' role='group' aria-label='Basic example'> ");    
 out.println("<button type='button' class='btn btn-secondary'> "); 
out.println("<div class='caixa_quantidade'> ");
  Integer quantidadeRegistros= (Integer)  request.getAttribute("totalProdutos");
   out.println("Resultados "+quantidadeRegistros); 
    out.println("</div>"); 

  out.println("</button>");
    int pagAnterior;
    if(Integer.parseInt(numPagina)>1){
    pagAnterior=Integer.parseInt(numPagina)-1;

 out.println("<div class='col-sm-3'> ");
 out.println("<button type='button' class='btn btn-secondary'> ");
 out.println("<div class='caixa_quantidade2'> ");
out.println("<div class='conteudo2'><a href=ListarProdutosPaginada?
 numeroPagina="+pagAnterior+">Anterior</a></div>");
out.println("</div>"); 
out.println("</div>"); 
out.println("</button>");

 }else{
  }

 for(int i=1;i<=totalPaginas;i++){
 out.println("<button type='button' class='btn btn-secondary'> "); 
 out.println("<div class='paginacao'><a href=ListarProdutosPaginada?numeroPagina="+i+">"+i+"</a>
 </div>");
 out.println("</button>");
}


 int proximaPag;
 if((totalRegistros-(Integer.parseInt(numPagina)*limite))>0){
proximaPag=Integer.parseInt(numPagina)+1;
   out.println("<button type='button' class='btn btn-secondary'> "); 
    out.println("<div class='caixa_quantidade2'> "); 
  out.println("<div class='conteudo2'><a href=ListarProdutosPaginada?
    numeroPagina="+proximaPag+"&ordenacao"+ordenacao+">Proxima</a></div>");
    out.println("</div>"); 
    out.println("</button>"); 

}

out.println("</div>");  
 out.println("</div>");
out.println("</div>"); 
out.println("</div>");
     %>

Ola,

Primeiro você teria que estudar sobre JSTL, veja os sites/tutorial abaixo, creio que va sanar suas duvidas


https://www.caelum.com.br/apostila-java-web/usando-taglibs/
https://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm
https://www.javatpoint.com/jstl