ciao...dunque secondo me il metodo migliore è quello di utilizzare un bean, ovvero un oggettino che andrà a rappresentarti tutta la riga di un ResultSet, e successivamente metterlo in un vettore.

Ti faccio 1 esempio:

1. creo il bean

public class NewsBean(){
public String titolo="";
public String testo="";
public String autore="";
//poi metti i metodi set e get per ognuna delle variabili sopra
}


2.per ogni rs.next() creo un bean e lo metto in un vettore

Vector vettoreRisultati=new Vector();
query="select titolo, testo, autore from news"

farai logicamente rs=st.executeQuery(query)

while(rs.next()){
NewsBean news = new NewsBean();
news.setTitolo(rs.getString(1));
news.setTesto(rs.getString(2));
news.setAutore(rs.getString(3));
vettoreRisultati.add(news);
}


ottieni così un vettore composto di bean che metterai in sessione o in request, come vuoi

infine dovrai soltanto, nella jsp, fare un for controllato da if

es:
(poniamo tu voglia un massimo di 10 risultati)

if(vettoreRisultati.size()<=10)
for(int i=0; i>vettoreRisultati.size(); i++)
else
for(int i=0; i>10;i++)

ogni riga farà soltanto

((NewsBean)(vettoreRisultati.get(i))).getTitolo()
((NewsBean)(vettoreRisultati.get(i))).getTesto()
((NewsBean)(vettoreRisultati.get(i))).getAutore()

e alla fine sempre
if(vettoreRisultati.size()<=10)
nulla
else
bottone(e al bottone eventualmente puoi passare in get il valore di "i" così da poter riprendere nell'altra pagina da dove hai lasciato)


se no ci sono altri 1000 modi non so

ciao ciao