Acho q vc deveria fazer assim:
<jsp:useBean name="nomeQualquer" class="nome_da_classe_que_vai_receber_os_dados"/>
<c:forEach var="nome" items="nomeQualquer.allContaPagar>
...
</c:forEach>
Acho q seria a forma mais correta de se trabalhar, porque ai você não coloca scriplets no meio do seu código da view
Se tiver problemas em recuperar dados de uma sessão eu sugiro que faça o seguinte:
public class bla{
private HTTPSession session;
private UsuarioBean usuario;
public void setSession(HttpSession session){
this.sessiont = session;
}
public HttpSessiont getSession(){
return this.sessiont;
}
public void setUsuario(UsuarioBean usuario){
this.usuario = usuario;
}
public void getUsuario(UsuarioBean usuario){
return (UsuarioBean) this.getSession.getAttribute("nome_do_registro_session");
}
public static ArrayList(ContaPagarBean) getAllContaPagar() throws SQLException{
# Connection cnn = Utils.getConexao();
# Usuario usrFinder = new Usuario();
# String cmdSQL;
# int idUsuario;
# ArrayList<ContaPagarBean> contasPagar = new ArrayList<ContaPagarBean>();
# try{
# Statement sta = cnn.createStatement();
# cmdSQL = "SELECT * FROM contaspagar WHERE idUsuario = "+ this.getUsuario().getId() + " ORDER BY dataPagamento";
# ResultSet rs = sta.executeQuery(cmdSQL);
#
# while(rs.next()){
# ContaPagarBean contaPagar = new ContaPagarBean();
# int id = rs.getInt("id");
# double valor = rs.getDouble("valor");
# String desc = rs.getString("descricao");
# String credor = rs.getString("credor");
# int idUsuarioBd = rs.getInt("idUsuario");
# String dataCad = rs.getString("dataCadastro");
# String dataPag = rs.getString("dataPagamento");
# contaPagar.setId(id);
# contaPagar.setValor(valor);
# contaPagar.setCredor(credor);
# contaPagar.setDesc(desc);
# contaPagar.setIdUsuario(idUsuario);
# contaPagar.setDataCadastro(dataCad);
# contaPagar.setDataPagamento(dataPag);
# contasPagar.add(contaPagar);
# }
# return contasPagar;
# }
# catch(Exception e){
# return contasPagar;
# }
# finally{
# if(cnn != null){
# cnn.close();
# }
# }
}
}
Ai no jsp vc faz o seguinte:
<jsp:setProperty name="nomeQualquer" property="session" value="${pageContext.session}"/>
Então vc pode fazer o forEach daquela forma que descrevi ali em cima.
O que acontece, vc seta o atributo session da sua classe, ai qndo vc chama o método que te retorna o arrayList ele vai pegar o objeto UsuarioBean que estava guardo na sessao, e desse objeto ele vai pegar o id q é o que vc precisa para fazer a consulta. E tudo funcionará certinho.
Espero ter ajudado e desculpa pela falta de detalhes, estou com um pouco de pressa.
Abraço